@theotherwillembotha/node-red-plugincore 0.1.0 → 0.3.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 (167) hide show
  1. package/README.md +616 -220
  2. package/build/GenerateNodes.js +9 -33
  3. package/build/Nodes.html +2 -1505
  4. package/build/Nodes.js +5 -19
  5. package/build/Plugins.html +11 -0
  6. package/build/Plugins.js +17 -12
  7. package/build/core/NodeConstructor.d.ts +12 -16
  8. package/build/core/NodeConstructor.d.ts.map +1 -1
  9. package/build/core/NodeConstructor.js +125 -185
  10. package/build/core/NodeGenerator.d.ts +3 -1
  11. package/build/core/NodeGenerator.d.ts.map +1 -1
  12. package/build/core/NodeGenerator.js +139 -43
  13. package/build/core/NodeManagerRuntime.d.ts +44 -0
  14. package/build/core/NodeManagerRuntime.d.ts.map +1 -0
  15. package/build/core/NodeManagerRuntime.js +140 -0
  16. package/build/core/Utils.d.ts.map +1 -1
  17. package/build/core/logger/service/LoggerService.d.ts +8 -6
  18. package/build/core/logger/service/LoggerService.d.ts.map +1 -1
  19. package/build/core/logger/service/LoggerService.js +101 -23
  20. package/build/core/logger/template/LoggerTemplate.d.ts +1 -2
  21. package/build/core/logger/template/LoggerTemplate.d.ts.map +1 -1
  22. package/build/core/logger/template/LoggerTemplate.js +18 -5
  23. package/build/core/metrics/MetricsDecorator.d.ts +1 -2
  24. package/build/core/metrics/MetricsDecorator.d.ts.map +1 -1
  25. package/build/core/metrics/MetricsDecorator.js +89 -116
  26. package/build/core/metrics/node/CounterMetricConfigNode.d.ts.map +1 -1
  27. package/build/core/metrics/node/CounterMetricConfigNode.js +4 -5
  28. package/build/core/metrics/node/GaugeMetricConfigNode.d.ts.map +1 -1
  29. package/build/core/metrics/node/GaugeMetricConfigNode.js +5 -6
  30. package/build/core/metrics/node/MetricsConfigNode.d.ts +19 -9
  31. package/build/core/metrics/node/MetricsConfigNode.d.ts.map +1 -1
  32. package/build/core/metrics/node/MetricsConfigNode.js +14 -45
  33. package/build/core/metrics/node/TimerMetricConfigNode.d.ts.map +1 -1
  34. package/build/core/metrics/node/TimerMetricConfigNode.js +11 -17
  35. package/build/core/metrics/service/MetricsService.d.ts +110 -114
  36. package/build/core/metrics/service/MetricsService.d.ts.map +1 -1
  37. package/build/core/metrics/service/MetricsService.js +122 -339
  38. package/build/core/metrics/template/CounterMetricTemplate.d.ts +1 -2
  39. package/build/core/metrics/template/CounterMetricTemplate.d.ts.map +1 -1
  40. package/build/core/metrics/template/CounterMetricTemplate.js +16 -5
  41. package/build/core/metrics/template/GaugeMetricTemplate.d.ts +1 -2
  42. package/build/core/metrics/template/GaugeMetricTemplate.d.ts.map +1 -1
  43. package/build/core/metrics/template/GaugeMetricTemplate.js +16 -5
  44. package/build/core/metrics/template/MetricsTemplate.d.ts +1 -2
  45. package/build/core/metrics/template/MetricsTemplate.d.ts.map +1 -1
  46. package/build/core/metrics/template/MetricsTemplate.js +18 -6
  47. package/build/core/metrics/template/TimerMetricTemplate.d.ts +1 -2
  48. package/build/core/metrics/template/TimerMetricTemplate.d.ts.map +1 -1
  49. package/build/core/metrics/template/TimerMetricTemplate.js +16 -5
  50. package/build/core/other/node/DelegatedConfigReferenceNode.d.ts +1 -1
  51. package/build/core/other/node/DelegatedConfigReferenceNode.d.ts.map +1 -1
  52. package/build/core/other/node/DelegatedConfigReferenceNode.js +1 -1
  53. package/build/core/other/service/InputService.d.ts.map +1 -1
  54. package/build/core/other/service/SettingsService.d.ts +1 -2
  55. package/build/core/other/service/SettingsService.d.ts.map +1 -1
  56. package/build/core/other/service/SettingsService.js +19 -5
  57. package/build/core/other/template/BasicTemplate.d.ts +1 -2
  58. package/build/core/other/template/BasicTemplate.d.ts.map +1 -1
  59. package/build/core/other/template/BasicTemplate.js +15 -5
  60. package/build/core/other/template/SettingsTemplate.d.ts +1 -2
  61. package/build/core/other/template/SettingsTemplate.d.ts.map +1 -1
  62. package/build/core/other/template/SettingsTemplate.js +17 -5
  63. package/build/core/state/node/InternalStateConfigNode.d.ts +16 -0
  64. package/build/core/state/node/InternalStateConfigNode.d.ts.map +1 -0
  65. package/build/core/state/node/InternalStateConfigNode.js +89 -0
  66. package/build/core/state/node/StateConfigNode.d.ts +24 -0
  67. package/build/core/state/node/StateConfigNode.d.ts.map +1 -0
  68. package/build/core/state/node/StateConfigNode.js +22 -0
  69. package/build/core/state/service/StateService.d.ts +34 -0
  70. package/build/core/state/service/StateService.d.ts.map +1 -0
  71. package/build/core/state/service/StateService.js +201 -0
  72. package/build/core/state/template/StateTemplate.d.ts +7 -0
  73. package/build/core/state/template/StateTemplate.d.ts.map +1 -0
  74. package/build/core/state/template/StateTemplate.js +25 -0
  75. package/build/core/tagging/ServiceDescriptionDecorator.d.ts +10 -0
  76. package/build/core/tagging/ServiceDescriptionDecorator.d.ts.map +1 -0
  77. package/build/core/tagging/ServiceDescriptionDecorator.js +10 -0
  78. package/build/core/tagging/TemplateDescriptionDecorator.d.ts +8 -0
  79. package/build/core/tagging/TemplateDescriptionDecorator.d.ts.map +1 -0
  80. package/build/core/tagging/TemplateDescriptionDecorator.js +10 -0
  81. package/build/core/tagging/service/NodeTypeService.d.ts +1 -2
  82. package/build/core/tagging/service/NodeTypeService.d.ts.map +1 -1
  83. package/build/core/tagging/service/NodeTypeService.js +19 -5
  84. package/build/core/ui/template/ScriptEditorTemplate.d.ts +1 -2
  85. package/build/core/ui/template/ScriptEditorTemplate.d.ts.map +1 -1
  86. package/build/core/ui/template/ScriptEditorTemplate.js +15 -5
  87. package/build/core/ui/template/UIHelperTemplate.d.ts +1 -2
  88. package/build/core/ui/template/UIHelperTemplate.d.ts.map +1 -1
  89. package/build/core/ui/template/UIHelperTemplate.js +15 -5
  90. package/build/core/webhook/node/WebhookServerConfigNode.d.ts.map +1 -1
  91. package/build/core/webhook/service/ReverseProxyTypeService.d.ts.map +1 -1
  92. package/build/core/webhook/service/WebhookServerService.d.ts +3 -4
  93. package/build/core/webhook/service/WebhookServerService.d.ts.map +1 -1
  94. package/build/core/webhook/service/WebhookServerService.js +48 -18
  95. package/build/core/webhook/template/WebhookTemplate.d.ts +1 -2
  96. package/build/core/webhook/template/WebhookTemplate.d.ts.map +1 -1
  97. package/build/core/webhook/template/WebhookTemplate.js +19 -6
  98. package/build/index.d.ts +6 -2
  99. package/build/index.d.ts.map +1 -1
  100. package/build/index.js +7 -2
  101. package/build/runtime/NodeManagerRuntime.js +140 -0
  102. package/documentation/CounterMetricConfigNode.png +0 -0
  103. package/documentation/GaugeMetricConfigNode.png +0 -0
  104. package/documentation/LoggerTemplate.png +0 -0
  105. package/documentation/MetricsTemplate.png +0 -0
  106. package/documentation/StateTemplate.png +0 -0
  107. package/documentation/TimerMetricConfigNode_histogram.png +0 -0
  108. package/documentation/TimerMetricConfigNode_summary.png +0 -0
  109. package/documentation/WebhookServerConfigNode.png +0 -0
  110. package/documentation/WebhookTemplate.png +0 -0
  111. package/package.json +4 -11
  112. package/src/GenerateNodes.ts +10 -40
  113. package/src/core/NodeConstructor.ts +150 -228
  114. package/src/core/NodeGenerator.ts +156 -47
  115. package/src/core/NodeManagerRuntime.ts +179 -0
  116. package/src/core/logger/service/LoggerService.ts +60 -32
  117. package/src/core/logger/template/LoggerTemplate.html +11 -6
  118. package/src/core/logger/template/LoggerTemplate.ts +9 -11
  119. package/src/core/metrics/MetricsDecorator.ts +140 -168
  120. package/src/core/metrics/node/CounterMetricConfigNode.ts +20 -20
  121. package/src/core/metrics/node/GaugeMetricConfigNode.ts +24 -25
  122. package/src/core/metrics/node/MetricsConfigNode.ts +29 -48
  123. package/src/core/metrics/node/TimerMetricConfigNode.ts +50 -59
  124. package/src/core/metrics/service/MetricsService.ts +214 -489
  125. package/src/core/metrics/template/CounterMetricTemplate.html +0 -1
  126. package/src/core/metrics/template/CounterMetricTemplate.ts +8 -11
  127. package/src/core/metrics/template/GaugeMetricTemplate.html +1 -1
  128. package/src/core/metrics/template/GaugeMetricTemplate.ts +8 -11
  129. package/src/core/metrics/template/MetricsTemplate.html +132 -13
  130. package/src/core/metrics/template/MetricsTemplate.ts +9 -10
  131. package/src/core/metrics/template/TimerMetricTemplate.ts +8 -10
  132. package/src/core/other/node/DelegatedConfigReferenceNode.ts +1 -1
  133. package/src/core/other/service/SettingsService.ts +6 -10
  134. package/src/core/other/template/BasicTemplate.html +1 -1
  135. package/src/core/other/template/BasicTemplate.ts +6 -11
  136. package/src/core/other/template/SettingsTemplate.ts +8 -13
  137. package/src/core/state/node/InternalStateConfigNode.html +77 -0
  138. package/src/core/state/node/InternalStateConfigNode.ts +102 -0
  139. package/src/core/state/node/StateConfigNode.ts +29 -0
  140. package/src/core/state/service/StateService.ts +180 -0
  141. package/src/core/state/template/StateTemplate.html +244 -0
  142. package/src/core/state/template/StateTemplate.ts +18 -0
  143. package/src/core/tagging/ServiceDescriptionDecorator.ts +23 -0
  144. package/src/core/tagging/TemplateDescriptionDecorator.ts +19 -0
  145. package/src/core/tagging/service/NodeTypeService.ts +6 -11
  146. package/src/core/ui/template/ScriptEditorTemplate.ts +6 -10
  147. package/src/core/ui/template/UIHelperTemplate.html +41 -26
  148. package/src/core/ui/template/UIHelperTemplate.ts +6 -10
  149. package/src/core/webhook/service/WebhookServerService.ts +39 -23
  150. package/src/core/webhook/template/WebhookTemplate.html +28 -35
  151. package/src/core/webhook/template/WebhookTemplate.ts +10 -12
  152. package/src/index.ts +8 -2
  153. package/build/core/logger/node/ConsoleLoggerConfigNode.d.ts +0 -20
  154. package/build/core/logger/node/ConsoleLoggerConfigNode.d.ts.map +0 -1
  155. package/build/core/logger/node/ConsoleLoggerConfigNode.js +0 -62
  156. package/build/core/logger/node/RestLoggerConfigNode.d.ts +0 -40
  157. package/build/core/logger/node/RestLoggerConfigNode.d.ts.map +0 -1
  158. package/build/core/logger/node/RestLoggerConfigNode.js +0 -128
  159. package/documentation/ConsoleLoggerConfigNode.png +0 -0
  160. package/documentation/MetricsConfigNode.png +0 -0
  161. package/documentation/RestLoggerConfigNode.png +0 -0
  162. package/documentation/TimerMetricConfigNode.png +0 -0
  163. package/documentation/WebhookNode.png +0 -0
  164. package/src/core/logger/node/ConsoleLoggerConfigNode.html +0 -90
  165. package/src/core/logger/node/ConsoleLoggerConfigNode.ts +0 -71
  166. package/src/core/logger/node/RestLoggerConfigNode.html +0 -183
  167. package/src/core/logger/node/RestLoggerConfigNode.ts +0 -170
package/build/Nodes.js CHANGED
@@ -8,25 +8,11 @@
8
8
 
9
9
  */
10
10
  "use strict";
11
- const NodeManager = require("@theotherwillembotha/node-red-plugincore").NodeManager;
12
- const DelegatedConfigReferenceNode = require("@theotherwillembotha/node-red-plugincore").DelegatedConfigReferenceNode;
13
- const ConsoleLoggerConfigNode = require("@theotherwillembotha/node-red-plugincore").ConsoleLoggerConfigNode;
14
- const RestLoggerConfigNode = require("@theotherwillembotha/node-red-plugincore").RestLoggerConfigNode;
15
- const MetricsConfigNode = require("@theotherwillembotha/node-red-plugincore").MetricsConfigNode;
16
- const CounterMetricConfigNode = require("@theotherwillembotha/node-red-plugincore").CounterMetricConfigNode;
17
- const GaugeMetricConfigNode = require("@theotherwillembotha/node-red-plugincore").GaugeMetricConfigNode;
18
- const TimerMetricConfigNode = require("@theotherwillembotha/node-red-plugincore").TimerMetricConfigNode;
19
- const WebhookServerConfigNode = require("@theotherwillembotha/node-red-plugincore").WebhookServerConfigNode;
11
+ const { NodeManager } = require("./runtime/NodeManagerRuntime");
12
+
20
13
  module.exports = (RED) => {
21
14
  let manager = new NodeManager(RED);
22
- manager.registerNodeType("DelegatedConfigReferenceNode", DelegatedConfigReferenceNode);
23
- manager.registerNodeType("ConsoleLoggerConfigNode", ConsoleLoggerConfigNode);
24
- manager.registerNodeType("RestLoggerConfigNode", RestLoggerConfigNode);
25
- manager.registerNodeType("MetricsConfigNode", MetricsConfigNode);
26
- manager.registerNodeType("CounterMetricConfigNode", CounterMetricConfigNode);
27
- manager.registerNodeType("GaugeMetricConfigNode", GaugeMetricConfigNode);
28
- manager.registerNodeType("TimerMetricConfigNode", TimerMetricConfigNode);
29
- manager.registerNodeType("WebhookServerConfigNode", WebhookServerConfigNode);
30
- }
31
-
15
+
16
+ }
17
+
32
18
 
@@ -0,0 +1,11 @@
1
+
2
+ <!--
3
+
4
+ This file was automatically generated using the NODERED Core utility.
5
+ Any modifications to his file will be overwritten the next time the code is regenerated.
6
+
7
+ You have been warned.
8
+
9
+ No shared nodes in this package. All nodes are registered via Nodes.html.
10
+ -->
11
+
package/build/Plugins.js CHANGED
@@ -9,16 +9,12 @@
9
9
  */
10
10
  "use strict";
11
11
  const runtime = require("node-red").runtime;
12
- const LoggerService = require("@theotherwillembotha/node-red-plugincore").LoggerService;
13
- const MetricsService = require("@theotherwillembotha/node-red-plugincore").MetricsService;
14
- const SettingsService = require("@theotherwillembotha/node-red-plugincore").SettingsService;
15
- const WebhookServerService = require("@theotherwillembotha/node-red-plugincore").WebhookServerService;
16
12
  const NodeTypeService = require("@theotherwillembotha/node-red-plugincore").NodeTypeService;
17
13
 
18
14
  module.exports = function (RED) {
19
15
 
20
16
  // 1. make a list of all the plugins that need to be installed.
21
- let pluginList = [LoggerService, MetricsService, SettingsService, WebhookServerService, NodeTypeService]
17
+ let pluginList = [NodeTypeService]
22
18
  .map(service => service.getServiceDescriptor())
23
19
  .filter(plugin => !RED.plugins.get(plugin.id()));
24
20
 
@@ -31,29 +27,38 @@ module.exports = function (RED) {
31
27
 
32
28
  if(addedPlugin && plugin.instantiate && !plugin.instance){
33
29
  plugin.instance = new plugin.class();
34
-
30
+
35
31
  // instantiate the plugin.
36
32
  await plugin.instance.init(RED);
37
33
 
34
+ // Eagerly call onDeploy with any pre-existing saved flows so that
35
+ // service registries (MetricsService, WebhookServerService, etc.) are
36
+ // populated before config nodes are constructed during flow startup.
37
+ // Without this, MetricsConfigNode._metrics is undefined on first boot.
38
+ const existingFlows = await runtime.flows.getFlows({});
39
+ const hasExistingFlows = existingFlows && existingFlows.flows && existingFlows.flows.length > 0;
40
+ if (hasExistingFlows) {
41
+ await plugin.instance.onDeploy(existingFlows);
42
+ }
43
+
38
44
  // publish an event that it has ben deployed.
39
45
  RED.events.emit("plugin.instantiated", pluginID);
40
-
46
+
41
47
  pluginList.splice(pluginList.findIndex(current => current.id() === addedPlugin.id()), 1);
42
48
 
43
49
  // register a flow deployment listener.
44
- let startupDeployment = true;
50
+ // startupDeployment is only needed for a truly fresh Node-RED with no saved flows.
51
+ let startupDeployment = !hasExistingFlows;
45
52
  RED.events.on('runtime-event', async (event) => {
46
- // startup deployment.
53
+ // startup deployment (fresh Node-RED with no pre-existing flows).
47
54
  if ("runtime-deploy" === event?.id && startupDeployment) {
48
- //console.log("STARTUP DEPLOYMENT");
49
55
  startupDeployment = false;
50
56
  const flows = await runtime.flows.getFlows({});
51
57
  await plugin.instance.onDeploy(flows);
52
58
  }
53
-
59
+
54
60
  // stopping flows on redeployment.
55
61
  if ("runtime-state" === event?.id && event?.payload?.state === "stop" && event?.payload?.deploy) {
56
- //console.log("REDEPLOY!");
57
62
  const flows = await runtime.flows.getFlows({});
58
63
  await plugin.instance.onDeploy(flows);
59
64
  }
@@ -1,11 +1,8 @@
1
1
  import { Node, NodeAPI, NodeAPISettingsWithData } from "node-red";
2
2
  import { INamedType, INodeClass, ITemplateClass } from "./NodeGenerator";
3
3
  import "reflect-metadata";
4
- export interface BaseNodeConfig {
5
- id: string;
6
- name: string;
7
- type: string;
8
- }
4
+ import { NODEMANAGER_API_VERSION, POST_CONSTRUCT_KEY, BaseNodeConfig, runPostConstructInitializers, NodeManager } from "./NodeManagerRuntime";
5
+ export { NODEMANAGER_API_VERSION, POST_CONSTRUCT_KEY, BaseNodeConfig, runPostConstructInitializers, NodeManager };
9
6
  export declare abstract class BaseNode<Config extends BaseNodeConfig> {
10
7
  private _node;
11
8
  node(): Node<{}>;
@@ -102,16 +99,6 @@ declare class PostConstructDecoratorBuilder<TMetadata = any> {
102
99
  build(): any;
103
100
  }
104
101
  export declare function createPostConstructDecorator<TMetadata = any>(decoratorName: string): PostConstructDecoratorBuilder<TMetadata>;
105
- export declare class NodeManager {
106
- private static PLUGINID;
107
- private static _RED;
108
- private nodeTypeService;
109
- private typeBacklog;
110
- constructor(RED: NodeAPI<NodeAPISettingsWithData>);
111
- static get RED(): NodeAPI<NodeAPISettingsWithData>;
112
- registerService(type: IServiceClass): NodeManager;
113
- registerNodeType(typeName: string, type: INodeClass): NodeManager;
114
- }
115
102
  export type FlowDeployment = {
116
103
  rev: string;
117
104
  flows: [FlowElement];
@@ -177,6 +164,14 @@ export declare class NodeBuilder {
177
164
  addIncludeEditDelete(source: string, script: string): NodeBuilder;
178
165
  addIncludeEditForm(source: string, script: string): NodeBuilder;
179
166
  addIncludeDocumentation(source: string, script: string): NodeBuilder;
167
+ buildOnceHtml(): {
168
+ source: string;
169
+ html: string;
170
+ }[];
171
+ private applyShaddowDefaults;
172
+ private buildRegisterTypeBody;
173
+ buildDeferredType(): string;
174
+ buildStandardType(): string;
180
175
  private serializeProperty;
181
176
  private serializeHTML;
182
177
  private serializeJavaScript;
@@ -187,6 +182,7 @@ export declare class NodeBuilder {
187
182
  buildHtml(): string;
188
183
  buildDocumentation(): string;
189
184
  }
185
+ declare let buildNodeBuilder: (node: INodeClass) => NodeBuilder;
190
186
  declare let buildNode: (node: INodeClass) => string;
191
- export { buildNode };
187
+ export { buildNode, buildNodeBuilder };
192
188
  //# sourceMappingURL=NodeConstructor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodeConstructor.d.ts","sourceRoot":"","sources":["../../src/core/NodeConstructor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NodeConstructor.d.ts","sourceRoot":"","sources":["../../src/core/NodeConstructor.ts"],"names":[],"mappings":"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"}
@@ -3,14 +3,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.buildNode = exports.NodeBuilder = exports.BaseService = exports.NodeManager = exports.Template = exports.ServiceDescriptor = exports.TemplateDescriptor = exports.NodeDescriptor = exports.ConfigNode = exports.BaseNode = void 0;
6
+ exports.buildNodeBuilder = exports.buildNode = exports.NodeBuilder = exports.BaseService = exports.Template = exports.ServiceDescriptor = exports.TemplateDescriptor = exports.NodeDescriptor = exports.ConfigNode = exports.BaseNode = exports.NodeManager = exports.runPostConstructInitializers = exports.POST_CONSTRUCT_KEY = exports.NODEMANAGER_API_VERSION = void 0;
7
7
  exports.createPostConstructDecorator = createPostConstructDecorator;
8
8
  require("reflect-metadata");
9
- const jsdom_1 = __importDefault(require("jsdom"));
10
9
  const fs_1 = __importDefault(require("fs"));
11
- const js_beautify_1 = __importDefault(require("js-beautify"));
12
- const markdown_it_1 = __importDefault(require("markdown-it"));
13
- const handlebars_1 = __importDefault(require("handlebars"));
10
+ const NodeManagerRuntime_1 = require("./NodeManagerRuntime");
11
+ Object.defineProperty(exports, "NODEMANAGER_API_VERSION", { enumerable: true, get: function () { return NodeManagerRuntime_1.NODEMANAGER_API_VERSION; } });
12
+ Object.defineProperty(exports, "POST_CONSTRUCT_KEY", { enumerable: true, get: function () { return NodeManagerRuntime_1.POST_CONSTRUCT_KEY; } });
13
+ Object.defineProperty(exports, "runPostConstructInitializers", { enumerable: true, get: function () { return NodeManagerRuntime_1.runPostConstructInitializers; } });
14
+ Object.defineProperty(exports, "NodeManager", { enumerable: true, get: function () { return NodeManagerRuntime_1.NodeManager; } });
14
15
  class BaseNode {
15
16
  node() { return this._node; }
16
17
  config() { return this._config; }
@@ -135,7 +136,6 @@ class Template {
135
136
  }
136
137
  }
137
138
  exports.Template = Template;
138
- const POST_CONSTRUCT_KEY = Symbol('postConstructInitializers');
139
139
  // Builder class for post-construct decorators
140
140
  class PostConstructDecoratorBuilder {
141
141
  constructor(decoratorName) {
@@ -201,10 +201,10 @@ class PostConstructDecoratorBuilder {
201
201
  ` Issue: Method returned a value (${typeof result}) but should return void or Promise<void>.`);
202
202
  }
203
203
  };
204
- if (!target[POST_CONSTRUCT_KEY]) {
205
- target[POST_CONSTRUCT_KEY] = [];
204
+ if (!target[NodeManagerRuntime_1.POST_CONSTRUCT_KEY]) {
205
+ target[NodeManagerRuntime_1.POST_CONSTRUCT_KEY] = [];
206
206
  }
207
- target[POST_CONSTRUCT_KEY].push((instance) => {
207
+ target[NodeManagerRuntime_1.POST_CONSTRUCT_KEY].push((instance) => {
208
208
  if (initLogic) {
209
209
  try {
210
210
  initLogic(instance, propertyKey, config);
@@ -245,117 +245,6 @@ class PostConstructDecoratorBuilder {
245
245
  function createPostConstructDecorator(decoratorName) {
246
246
  return new PostConstructDecoratorBuilder(decoratorName);
247
247
  }
248
- // Single function to run all post-construct initializers
249
- let runPostConstructInitializers = function (instance) {
250
- const initializers = instance[POST_CONSTRUCT_KEY];
251
- if (initializers && initializers.length > 0) {
252
- const className = instance.constructor.name;
253
- //console.log(`Running ${initializers.length} post-construct initializers for ${className}`);
254
- initializers.forEach((init, index) => {
255
- try {
256
- init(instance);
257
- }
258
- catch (error) {
259
- console.error(`Post-construct initialization failed:\n` +
260
- ` Class: ${className}\n` +
261
- ` Initializer: ${index + 1}/${initializers.length}\n` +
262
- ` Error: ${error instanceof Error ? error.message : String(error)}`);
263
- throw error;
264
- }
265
- });
266
- // Clear the initializers after running
267
- delete instance[POST_CONSTRUCT_KEY];
268
- }
269
- };
270
- // ************************************************
271
- class NodeManager {
272
- static { this.PLUGINID = "node-red-contrib-theotherwillembotha/services-plugin"; }
273
- constructor(RED) {
274
- this.typeBacklog = [];
275
- NodeManager._RED = RED;
276
- let nodeTypeServiceListener = async (pluginID) => {
277
- if (pluginID === "@theotherwillembotha/nodetypeservice") {
278
- // disable the listener- the plugin has been installed.
279
- RED.events.off('plugin.instantiated', nodeTypeServiceListener);
280
- // get a handle on the NodeTypeService
281
- let plugin = RED.plugins.get("@theotherwillembotha/nodetypeservice");
282
- this.nodeTypeService = RED.plugins.get("@theotherwillembotha/nodetypeservice").instance;
283
- // process the backlog.
284
- for (let nodeType of this.typeBacklog) {
285
- for (let tag of nodeType.getNodeDescriptor().tags()) {
286
- this.nodeTypeService.registerNodeType(tag, nodeType);
287
- }
288
- }
289
- }
290
- };
291
- // check if the reverserproxyttypesewrvice is installed yet.
292
- this.nodeTypeService = RED.plugins.get("@theotherwillembotha/nodetypeservice").instance;
293
- if (!this.nodeTypeService) {
294
- RED.events.on('plugin.instantiated', nodeTypeServiceListener);
295
- }
296
- }
297
- static get RED() {
298
- return NodeManager._RED;
299
- }
300
- registerService(type) {
301
- let servicePlugin = NodeManager.RED.plugins.get(NodeManager.PLUGINID);
302
- if (servicePlugin) {
303
- servicePlugin.instance.install(NodeManager.RED, type);
304
- }
305
- else {
306
- let serviceName = `${type.getServiceDescriptor().sourceFile()}.${type.getServiceDescriptor().name()}`;
307
- console.log(`ERROR: plugin ${NodeManager.PLUGINID} does not seem to be loaded. Cannot start service: ${serviceName}`);
308
- }
309
- return this;
310
- }
311
- registerNodeType(typeName, type) {
312
- if (!type) {
313
- console.error(`Type "${typeName}" has no associated type. Make sure that it was exported and included in the index.js file!`);
314
- }
315
- let nodeConstructor = function (config) {
316
- //console.log("constructing node", typeName);
317
- try {
318
- // instantiate the node.
319
- NodeManager.RED.nodes.createNode(this, config);
320
- // assign an instance of it to the config.
321
- //(config as any).__node = this;
322
- // instatiate the actual node.
323
- let node = new type(this, config);
324
- //this.__node = node;
325
- // run the constructor initializers.
326
- runPostConstructInitializers(node);
327
- // after the node has been instantiated, attempt to invole the onInit method.
328
- if (node.onInit) {
329
- node.onInit();
330
- }
331
- }
332
- catch (error) {
333
- console.log(error);
334
- console.log("typeName:", typeName);
335
- console.log("type:", type);
336
- console.log("config:", config);
337
- }
338
- };
339
- try {
340
- NodeManager.RED.nodes.registerType(typeName, nodeConstructor, { settings: {} });
341
- let nodeDescription = type.getNodeDescriptor();
342
- // registger the node tags.
343
- if (this.nodeTypeService) {
344
- for (let tag of nodeDescription.tags()) {
345
- this.nodeTypeService.registerNodeType(tag, type);
346
- }
347
- }
348
- else {
349
- this.typeBacklog.push(type);
350
- }
351
- }
352
- catch (error) {
353
- console.error("registering node: " + typeName + " failed", error);
354
- }
355
- return this;
356
- }
357
- }
358
- exports.NodeManager = NodeManager;
359
248
  class BaseService {
360
249
  constructor(name) {
361
250
  this._name = name;
@@ -371,23 +260,26 @@ class BaseService {
371
260
  }
372
261
  }
373
262
  exports.BaseService = BaseService;
374
- const { JSDOM } = jsdom_1.default;
375
- const md = (0, markdown_it_1.default)({
376
- html: true,
377
- linkify: true,
378
- typographer: true
379
- });
380
- // Custom renderer for headings
381
- md.renderer.rules.heading_open = function (tokens, idx, options, env, self) {
382
- const token = tokens[idx];
383
- const level = token.tag.substring(1); // 'h1', 'h2', etc. -> '1', '2'
384
- return `<h${level} class="custom-heading">`;
385
- };
386
- md.renderer.rules.heading_close = function (tokens, idx, options, env, self) {
387
- const token = tokens[idx];
388
- const level = token.tag.substring(1);
389
- return `</h${level}>`;
390
- };
263
+ // Build-time deps - lazy loaded so they are never required at runtime in production bundles.
264
+ // These are only invoked during `npm run build` (GenerateNodes), never in the deployed container.
265
+ function getJSDOM() { return require('jsdom').JSDOM; }
266
+ function getBeautify() { return require('js-beautify'); }
267
+ function getHandlebars() { return require('handlebars'); }
268
+ let _md = null;
269
+ function getMd() {
270
+ if (!_md) {
271
+ _md = require('markdown-it')({ html: true, linkify: true, typographer: true });
272
+ _md.renderer.rules.heading_open = (tokens, idx) => {
273
+ const level = tokens[idx].tag.substring(1);
274
+ return `<h${level} class="custom-heading">`;
275
+ };
276
+ _md.renderer.rules.heading_close = (tokens, idx) => {
277
+ const level = tokens[idx].tag.substring(1);
278
+ return `</h${level}>`;
279
+ };
280
+ }
281
+ return _md;
282
+ }
391
283
  let beautifyOptions = {
392
284
  "indent_size": 4,
393
285
  "preserve-newlines": false,
@@ -423,7 +315,7 @@ class NodeBuilder {
423
315
  this._category = category;
424
316
  }
425
317
  addDefault(name, template) {
426
- // if list:true, this is an array of config references generate shadow defaults for each slot.
318
+ // if list:true, this is an array of config references - generate shadow defaults for each slot.
427
319
  if (template.list === true) {
428
320
  template.maxInstances = template.maxInstances ? template.maxInstances : 10;
429
321
  this._defaults[name] = { value: "", required: (template.required) ? template.required : false, maxInstances: template.maxInstances };
@@ -466,8 +358,9 @@ class NodeBuilder {
466
358
  }
467
359
  addTemplate(template) {
468
360
  let templateDescriptor = template.template.getTemplateDescriptor();
361
+ let templateConfig = template.config;
469
362
  // load the html source file
470
- let uiDom = new JSDOM(fs_1.default.readFileSync(templateDescriptor.templateFile()));
363
+ let uiDom = new (getJSDOM())(fs_1.default.readFileSync(templateDescriptor.templateFile()));
471
364
  // apply the onCompose section if available.
472
365
  let onCompose = uiDom.window.document.querySelector("script[template-section='onCompose']")?.innerHTML;
473
366
  if (onCompose) {
@@ -478,6 +371,14 @@ class NodeBuilder {
478
371
  Object.values(sections).forEach(section => {
479
372
  let sectionData = uiDom.window.document.querySelector(`[template-section='on${section}']`)?.innerHTML;
480
373
  if (sectionData) {
374
+ if (section !== "IncludeOnce" && section !== "IncludeEditForm" && section !== "IncludeDocumentation") {
375
+ // add the packageing around the sectionData
376
+ sectionData = `{
377
+ let node = this;
378
+ let templateConfig = ${JSON.stringify(templateConfig)};
379
+ ${sectionData}
380
+ }`;
381
+ }
481
382
  this[`add${section}`](templateDescriptor.name(), sectionData);
482
383
  }
483
384
  });
@@ -511,6 +412,76 @@ class NodeBuilder {
511
412
  this._onIncludeDocumentation.push({ source: source, script: script });
512
413
  return this;
513
414
  }
415
+ buildOnceHtml() {
416
+ return this._onIncludeOnce.map(entry => ({
417
+ source: entry.source,
418
+ html: this.serializeHTML(entry.source, entry.script)
419
+ }));
420
+ }
421
+ applyShaddowDefaults() {
422
+ let shaddowDefaults = Object.entries(this._defaults).filter(([name, template]) => template.type && template.type.endsWith("[]"));
423
+ if (shaddowDefaults.length > 0) {
424
+ this.addIncludeEditSave(this._name + "_shaddowDefaults", `{ let node = this; ` +
425
+ shaddowDefaults
426
+ .map(([name, template]) => `
427
+ for(let i = 0; i < ${template.maxInstances}; i++){
428
+ node["_${name}_" + i] = (node.${name}[i] || {}).proxy || "";
429
+ }`)
430
+ .join("\n\n") +
431
+ `}`);
432
+ }
433
+ }
434
+ buildRegisterTypeBody() {
435
+ return `{
436
+ category: '${this._category}',
437
+ ${(this._category !== "config" && this._icon) ? `icon: '${this._icon}',` : ""}
438
+ ${(this._category !== "config" && this._color) ? `color: '${this._color}',` : ""}
439
+ ${(this._category !== "config" && this._labelStyle) ? `labelStyle: '${this._labelStyle}',` : ""}
440
+ ${(this._label) ? `label: ${this._label},` : ""}
441
+ ${this._paletteLabel ? `paletteLabel: '${this._paletteLabel}',` : ""}
442
+ ${(this._category !== "config") ? `inputs:${this._inputs ? "1" : "0"},` : ""}
443
+ ${(this._category !== "config") ? `inputLabels:(i) => '${this._inputs}',` : ""}
444
+ ${(this._category !== "config") ? `outputs:${this._outputs.length},` : ""}
445
+ ${(this._category !== "config") ? `outputLabels:(i) => ${this.serializeProperty(this._outputs)}[i],` : ""}
446
+ defaults: {
447
+ ${Object.entries(this._defaults).map(([key, value]) => this.serializeDefault(key, value)).join("\n")}
448
+ },
449
+ oneditprepare: function() {
450
+ ${this._onIncludeEditPrepare.map(entry => this.serializeJavaScript(entry.source, entry.script)).join("")}
451
+ },
452
+ oneditsave: function() {
453
+ ${this._onIncludeEditSave.map(entry => this.serializeJavaScript(entry.source, entry.script)).join("")}
454
+ },
455
+ oneditcancel: function() {
456
+ ${this._onIncludeEditCancel.map(entry => this.serializeJavaScript(entry.source, entry.script)).join("")}
457
+ },
458
+ oneditdelete: function() {
459
+ ${this._onIncludeEditDelete.map(entry => this.serializeJavaScript(entry.source, entry.script)).join("")}
460
+ },
461
+ }`;
462
+ }
463
+ buildDeferredType() {
464
+ this.applyShaddowDefaults();
465
+ const registerTypeBody = this.buildRegisterTypeBody();
466
+ return getBeautify().html_beautify(`
467
+ <script type="text/javascript">
468
+ (function () {
469
+ RED.events.on('registry:node-set-added', function (ns) {
470
+ if (ns.types && ns.types.indexOf('${this._name}') !== -1) {
471
+ RED.nodes.registerType('${this._name}', ${registerTypeBody});
472
+ }
473
+ });
474
+ }());
475
+ </script>`, beautifyOptions);
476
+ }
477
+ buildStandardType() {
478
+ this.applyShaddowDefaults();
479
+ const registerTypeBody = this.buildRegisterTypeBody();
480
+ return getBeautify().html_beautify(`
481
+ <script type="text/javascript">
482
+ RED.nodes.registerType('${this._name}', ${registerTypeBody});
483
+ </script>`, beautifyOptions);
484
+ }
514
485
  serializeProperty(value) {
515
486
  switch (typeof value) {
516
487
  case "boolean": {
@@ -540,7 +511,7 @@ class NodeBuilder {
540
511
  : Object.fromEntries(Object.keys(this._defaults).map(k => [k, `node-input-${k}`]))
541
512
  };
542
513
  return `<!-- ${source} -->
543
- ${handlebars_1.default.compile(script)(context)}
514
+ ${getHandlebars().compile(script)(context)}
544
515
  `;
545
516
  }
546
517
  serializeJavaScript(source, script) {
@@ -549,7 +520,7 @@ class NodeBuilder {
549
520
  ? Object.fromEntries(Object.keys(this._defaults).map(k => [k, `node-config-input-${k}`]))
550
521
  : Object.fromEntries(Object.keys(this._defaults).map(k => [k, `node-input-${k}`]))
551
522
  };
552
- let serialized = handlebars_1.default.compile(script)(context).trim();
523
+ let serialized = getHandlebars().compile(script)(context).trim();
553
524
  if (!serialized.startsWith("{") && !serialized.endsWith("}")) {
554
525
  serialized = "{\n" + serialized + "\n}";
555
526
  }
@@ -564,7 +535,7 @@ class NodeBuilder {
564
535
  : Object.fromEntries(Object.keys(this._defaults).map(k => [k, `node-input-${k}`]))
565
536
  };
566
537
  return `
567
- <div id='section_${source}'>${handlebars_1.default.compile(script)(context)}
538
+ <div id='section_${source}'>${getHandlebars().compile(script)(context)}
568
539
  </div>
569
540
  `;
570
541
  }
@@ -575,53 +546,17 @@ class NodeBuilder {
575
546
  return script;
576
547
  }
577
548
  buildType() {
578
- // compose the shaddow defaults if need be.
579
- let shaddowDefaults = Object.entries(this._defaults).filter(([name, template]) => template.type && template.type.endsWith("[]"));
580
- if (shaddowDefaults.length > 0) {
581
- this.addIncludeEditSave(this._name + "_shaddowDefaults", `{ let node = this; ` +
582
- shaddowDefaults
583
- .map(([name, template]) => `
584
- for(let i = 0; i < ${template.maxInstances}; i++){
585
- node["_${name}_" + i] = (node.${name}[i] || {}).proxy || "";
586
- }`)
587
- .join("\n\n") +
588
- `}`);
589
- }
590
- return js_beautify_1.default.html_beautify(`
549
+ this.applyShaddowDefaults();
550
+ const registerTypeBody = this.buildRegisterTypeBody();
551
+ return getBeautify().html_beautify(`
591
552
  ${this._onIncludeOnce.map(entry => this.serializeHTML(entry.source, entry.script)).join("")}
592
553
  <script type="text/javascript">
593
- RED.nodes.registerType('${this._name}',{
594
- category: '${this._category}',
595
- ${(this._category !== "config" && this._icon) ? `icon: '${this._icon}',` : ""}
596
- ${(this._category !== "config" && this._color) ? `color: '${this._color}',` : ""}
597
- ${(this._category !== "config" && this._labelStyle) ? `labelStyle: '${this._labelStyle}',` : ""}
598
- ${(this._label) ? `label: ${this._label},` : ""}
599
- ${this._paletteLabel ? `paletteLabel: '${this._paletteLabel}',` : ""}
600
- ${(this._category !== "config") ? `inputs:${this._inputs ? "1" : "0"},` : ""}
601
- ${(this._category !== "config") ? `inputLabels:(i) => '${this._inputs}',` : ""}
602
- ${(this._category !== "config") ? `outputs:${this._outputs.length},` : ""}
603
- ${(this._category !== "config") ? `outputLabels:(i) => ${this.serializeProperty(this._outputs)}[i],` : ""}
604
- defaults: {
605
- ${Object.entries(this._defaults).map(([key, value]) => this.serializeDefault(key, value)).join("\n")}
606
- },
607
- oneditprepare: function() {
608
- ${this._onIncludeEditPrepare.map(entry => this.serializeJavaScript(entry.source, entry.script)).join("")}
609
- },
610
- oneditsave: function() {
611
- ${this._onIncludeEditSave.map(entry => this.serializeJavaScript(entry.source, entry.script)).join("")}
612
- },
613
- oneditcancel: function() {
614
- ${this._onIncludeEditCancel.map(entry => this.serializeJavaScript(entry.source, entry.script)).join("")}
615
- },
616
- oneditdelete: function() {
617
- ${this._onIncludeEditDelete.map(entry => this.serializeJavaScript(entry.source, entry.script)).join("")}
618
- },
619
- });
554
+ RED.nodes.registerType('${this._name}', ${registerTypeBody});
620
555
  </script>`, beautifyOptions);
621
556
  }
622
557
  ;
623
558
  buildHtml() {
624
- return js_beautify_1.default.html_beautify(`
559
+ return getBeautify().html_beautify(`
625
560
  <script type="text/html" data-template-name='${this._name}'>
626
561
  ${this._onIncludeEditForm.map(entry => this.serializeFormEntry(entry.source, entry.script)).join("")}
627
562
  </script>
@@ -651,12 +586,12 @@ let evalInContext = (context, js) => {
651
586
  throw error;
652
587
  }
653
588
  };
654
- let buildNode = function (node) {
589
+ let buildNodeBuilder = function (node) {
655
590
  // get the node descriptor and create the builder.
656
591
  let nodeDescriptor = node.getNodeDescriptor();
657
592
  let nodeBuilder = new NodeBuilder(nodeDescriptor.id(), nodeDescriptor.group());
658
593
  // load the html source file
659
- let uiDom = new JSDOM(fs_1.default.readFileSync(nodeDescriptor.sourceFile()));
594
+ let uiDom = new (getJSDOM())(fs_1.default.readFileSync(nodeDescriptor.sourceFile()));
660
595
  // apply the onCompose section if available.
661
596
  let onCompose = uiDom.window.document.querySelector("script[template-section='onCompose']")?.innerHTML;
662
597
  if (onCompose) {
@@ -672,6 +607,11 @@ let buildNode = function (node) {
672
607
  });
673
608
  // add some of the dependencies here.
674
609
  nodeDescriptor.templates().forEach(template => nodeBuilder.addTemplate(template));
610
+ return nodeBuilder;
611
+ };
612
+ exports.buildNodeBuilder = buildNodeBuilder;
613
+ let buildNode = function (node) {
614
+ let nodeBuilder = buildNodeBuilder(node);
675
615
  return [nodeBuilder.buildType(), nodeBuilder.buildHtml(), nodeBuilder.buildDocumentation()].join("\n\n");
676
616
  };
677
617
  exports.buildNode = buildNode;
@@ -21,7 +21,9 @@ declare class NodeGenerator {
21
21
  registerTemplate(template: ITemplateClass): NodeGenerator;
22
22
  registerNode(node: INodeClass): NodeGenerator;
23
23
  registerService(service: IServiceClass): NodeGenerator;
24
- generate(nodesOutputFile: string, pluginsOutputFile: string): void;
24
+ generate(nodesOutputFile: string, pluginsOutputFile: string, packageName: string): void;
25
+ private generateNodesHtml;
26
+ private generatePluginsHtml;
25
27
  private static generateHeader;
26
28
  }
27
29
  export { NodeGenerator };
@@ -1 +1 @@
1
- {"version":3,"file":"NodeGenerator.d.ts","sourceRoot":"","sources":["../../src/core/NodeGenerator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,QAAQ,EAAE,cAAc,EAAe,iBAAiB,EAA4B,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAIrJ,MAAM,WAAW,cAAc;IAC3B,QAAQ,QAAQ,CAAC;IACjB,qBAAqB,IAAI,kBAAkB,CAAC;CAC/C;AAED,MAAM,WAAW,UAAU;IACvB,iBAAiB,IAAG,cAAc,CAAC;CACtC;AAED,MAAM,WAAW,aAAa;IAC1B,oBAAoB,IAAG,iBAAiB,CAAC;CAC5C;AAED,cAAM,aAAa;IAEf,OAAO,CAAC,MAAM,CAAC,WAAW,CAAM;IAChC,OAAO,CAAC,MAAM,CAAC,OAAO,CAKpB;IAEF,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,MAAM,CAA4E;IAC1F,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,UAAU,CAA2B;gBAE1B,UAAU,EAAC,MAAM;IAIpC,OAAO,CAAC,aAAa;IAmBd,gBAAgB,CAAC,QAAQ,EAAE,cAAc,GAAG,aAAa;IAiBzD,YAAY,CAAC,IAAI,EAAC,UAAU,GAAE,aAAa;IAiB3C,eAAe,CAAC,OAAO,EAAE,aAAa,GAAE,aAAa;IAerD,QAAQ,CAAC,eAAe,EAAC,MAAM,EAAE,iBAAiB,EAAC,MAAM;IAyIhE,OAAO,CAAC,MAAM,CAAC,cAAc;CAQhC;AAID,OAAO,EACH,aAAa,EAChB,CAAA;AAED,MAAM,WAAW,UAAU;IACvB,IAAI,EAAC,MAAM,CAAC;CACf;AAmCD,qBAAa,aAAa;WAER,aAAa,CAAC,SAAS,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,GAAE,MAAM;CA2B1E;AAED,MAAM,MAAM,OAAO,GAAG;IAClB,CAAC,GAAG,EAAC,MAAM,GAAE,GAAG,CAAC;CACpB,CAAA"}
1
+ {"version":3,"file":"NodeGenerator.d.ts","sourceRoot":"","sources":["../../src/core/NodeGenerator.ts"],"names":[],"mappings":"AAGA,OAAO,EAA+B,QAAQ,EAAE,cAAc,EAAe,iBAAiB,EAA4B,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAIvK,MAAM,WAAW,cAAc;IAC3B,QAAQ,QAAQ,CAAC;IACjB,qBAAqB,IAAI,kBAAkB,CAAC;CAC/C;AAED,MAAM,WAAW,UAAU;IACvB,iBAAiB,IAAG,cAAc,CAAC;CACtC;AAED,MAAM,WAAW,aAAa;IAC1B,oBAAoB,IAAG,iBAAiB,CAAC;CAC5C;AAED,cAAM,aAAa;IAEf,OAAO,CAAC,MAAM,CAAC,WAAW,CAAM;IAChC,OAAO,CAAC,MAAM,CAAC,OAAO,CAKpB;IAEF,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,MAAM,CAA4E;IAC1F,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,UAAU,CAA2B;IAE7C,YAAmB,UAAU,EAAC,MAAM,EAEnC;IAED,OAAO,CAAC,aAAa;IAmBd,gBAAgB,CAAC,QAAQ,EAAE,cAAc,GAAG,aAAa,CAa/D;IAEM,YAAY,CAAC,IAAI,EAAC,UAAU,GAAE,aAAa,CAejD;IAEM,eAAe,CAAC,OAAO,EAAE,aAAa,GAAE,aAAa,CAY3D;IAEM,QAAQ,CAAC,eAAe,EAAC,MAAM,EAAE,iBAAiB,EAAC,MAAM,EAAE,WAAW,EAAC,MAAM,QA8JnF;IAED,OAAO,CAAC,iBAAiB;IA4CzB,OAAO,CAAC,mBAAmB;IA4C3B,OAAO,CAAC,MAAM,CAAC,cAAc;CAQhC;AAID,OAAO,EACH,aAAa,EAChB,CAAA;AAED,MAAM,WAAW,UAAU;IACvB,IAAI,EAAC,MAAM,CAAC;CACf;AAmCD,qBAAa,aAAa;IAEtB,OAAc,aAAa,CAAC,SAAS,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,GAAE,MAAM,CA0BtE;CACJ;AAED,MAAM,MAAM,OAAO,GAAG;IAClB,CAAC,GAAG,EAAC,MAAM,GAAE,GAAG,CAAC;CACpB,CAAA"}