@theotherwillembotha/node-red-plugincore 0.0.50
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.
- package/LICENSE +15 -0
- package/README.md +190 -0
- package/build/GenerateNodes.d.ts +2 -0
- package/build/GenerateNodes.d.ts.map +1 -0
- package/build/GenerateNodes.js +36 -0
- package/build/Nodes.html +1729 -0
- package/build/Nodes.js +32 -0
- package/build/Plugins.js +74 -0
- package/build/core/NodeConstructor.d.ts +188 -0
- package/build/core/NodeConstructor.d.ts.map +1 -0
- package/build/core/NodeConstructor.js +679 -0
- package/build/core/NodeGenerator.d.ts +37 -0
- package/build/core/NodeGenerator.d.ts.map +1 -0
- package/build/core/NodeGenerator.js +300 -0
- package/build/core/Utils.d.ts +7 -0
- package/build/core/Utils.d.ts.map +1 -0
- package/build/core/Utils.js +19 -0
- package/build/core/logger/LoggerDecorator.d.ts +2 -0
- package/build/core/logger/LoggerDecorator.d.ts.map +1 -0
- package/build/core/logger/LoggerDecorator.js +93 -0
- package/build/core/logger/node/ConsoleLoggerConfigNode.d.ts +16 -0
- package/build/core/logger/node/ConsoleLoggerConfigNode.d.ts.map +1 -0
- package/build/core/logger/node/ConsoleLoggerConfigNode.html +131 -0
- package/build/core/logger/node/ConsoleLoggerConfigNode.js +47 -0
- package/build/core/logger/node/LoggerConfigNode.d.ts +30 -0
- package/build/core/logger/node/LoggerConfigNode.d.ts.map +1 -0
- package/build/core/logger/node/LoggerConfigNode.html +307 -0
- package/build/core/logger/node/LoggerConfigNode.js +60 -0
- package/build/core/logger/node/LokiLoggerConfigNode.d.ts +20 -0
- package/build/core/logger/node/LokiLoggerConfigNode.d.ts.map +1 -0
- package/build/core/logger/node/LokiLoggerConfigNode.html +153 -0
- package/build/core/logger/node/LokiLoggerConfigNode.js +52 -0
- package/build/core/logger/node/RestLoggerConfigNode.d.ts +24 -0
- package/build/core/logger/node/RestLoggerConfigNode.d.ts.map +1 -0
- package/build/core/logger/node/RestLoggerConfigNode.html +209 -0
- package/build/core/logger/node/RestLoggerConfigNode.js +57 -0
- package/build/core/logger/service/LoggerService.d.ts +88 -0
- package/build/core/logger/service/LoggerService.d.ts.map +1 -0
- package/build/core/logger/service/LoggerService.js +204 -0
- package/build/core/logger/service/LoggerServiceTypes.d.ts +24 -0
- package/build/core/logger/service/LoggerServiceTypes.d.ts.map +1 -0
- package/build/core/logger/service/LoggerServiceTypes.js +30 -0
- package/build/core/logger/template/LoggerTemplate.d.ts +11 -0
- package/build/core/logger/template/LoggerTemplate.d.ts.map +1 -0
- package/build/core/logger/template/LoggerTemplate.html +328 -0
- package/build/core/logger/template/LoggerTemplate.js +12 -0
- package/build/core/metrics/MetricsDecorator.d.ts +40 -0
- package/build/core/metrics/MetricsDecorator.d.ts.map +1 -0
- package/build/core/metrics/MetricsDecorator.js +166 -0
- package/build/core/metrics/node/CounterMetricConfigNode.d.ts +16 -0
- package/build/core/metrics/node/CounterMetricConfigNode.d.ts.map +1 -0
- package/build/core/metrics/node/CounterMetricConfigNode.html +48 -0
- package/build/core/metrics/node/CounterMetricConfigNode.js +61 -0
- package/build/core/metrics/node/GaugeMetricConfigNode.d.ts +17 -0
- package/build/core/metrics/node/GaugeMetricConfigNode.d.ts.map +1 -0
- package/build/core/metrics/node/GaugeMetricConfigNode.html +48 -0
- package/build/core/metrics/node/GaugeMetricConfigNode.js +61 -0
- package/build/core/metrics/node/MetricsConfigNode.d.ts +14 -0
- package/build/core/metrics/node/MetricsConfigNode.d.ts.map +1 -0
- package/build/core/metrics/node/MetricsConfigNode.html +21 -0
- package/build/core/metrics/node/MetricsConfigNode.js +56 -0
- package/build/core/metrics/node/TimerMetricConfigNode.d.ts +28 -0
- package/build/core/metrics/node/TimerMetricConfigNode.d.ts.map +1 -0
- package/build/core/metrics/node/TimerMetricConfigNode.html +190 -0
- package/build/core/metrics/node/TimerMetricConfigNode.js +101 -0
- package/build/core/metrics/service/MetricsService.d.ts +187 -0
- package/build/core/metrics/service/MetricsService.d.ts.map +1 -0
- package/build/core/metrics/service/MetricsService.js +385 -0
- package/build/core/metrics/template/CounterMetricTemplate.d.ts +5 -0
- package/build/core/metrics/template/CounterMetricTemplate.d.ts.map +1 -0
- package/build/core/metrics/template/CounterMetricTemplate.html +40 -0
- package/build/core/metrics/template/CounterMetricTemplate.js +12 -0
- package/build/core/metrics/template/GaugeMetricTemplate.d.ts +5 -0
- package/build/core/metrics/template/GaugeMetricTemplate.d.ts.map +1 -0
- package/build/core/metrics/template/GaugeMetricTemplate.html +39 -0
- package/build/core/metrics/template/GaugeMetricTemplate.js +12 -0
- package/build/core/metrics/template/MetricsTemplate.d.ts +8 -0
- package/build/core/metrics/template/MetricsTemplate.d.ts.map +1 -0
- package/build/core/metrics/template/MetricsTemplate.html +54 -0
- package/build/core/metrics/template/MetricsTemplate.js +12 -0
- package/build/core/metrics/template/TimerMetricTemplate.d.ts +5 -0
- package/build/core/metrics/template/TimerMetricTemplate.d.ts.map +1 -0
- package/build/core/metrics/template/TimerMetricTemplate.html +39 -0
- package/build/core/metrics/template/TimerMetricTemplate.js +12 -0
- package/build/core/other/InputDecorator.d.ts +3 -0
- package/build/core/other/InputDecorator.d.ts.map +1 -0
- package/build/core/other/InputDecorator.js +43 -0
- package/build/core/other/service/InputService.d.ts +16 -0
- package/build/core/other/service/InputService.d.ts.map +1 -0
- package/build/core/other/service/InputService.js +31 -0
- package/build/core/other/service/SettingsService.d.ts +25 -0
- package/build/core/other/service/SettingsService.d.ts.map +1 -0
- package/build/core/other/service/SettingsService.js +74 -0
- package/build/core/other/template/BasicTemplate.d.ts +5 -0
- package/build/core/other/template/BasicTemplate.d.ts.map +1 -0
- package/build/core/other/template/BasicTemplate.html +76 -0
- package/build/core/other/template/BasicTemplate.js +11 -0
- package/build/core/other/template/SettingsTemplate.d.ts +5 -0
- package/build/core/other/template/SettingsTemplate.d.ts.map +1 -0
- package/build/core/other/template/SettingsTemplate.html +128 -0
- package/build/core/other/template/SettingsTemplate.js +11 -0
- package/build/core/tagging/NodeDescriptionDecorator.d.ts +17 -0
- package/build/core/tagging/NodeDescriptionDecorator.d.ts.map +1 -0
- package/build/core/tagging/NodeDescriptionDecorator.js +25 -0
- package/build/core/tagging/service/NodeTypeService.d.ts +15 -0
- package/build/core/tagging/service/NodeTypeService.d.ts.map +1 -0
- package/build/core/tagging/service/NodeTypeService.js +47 -0
- package/build/core/webhook/WebhookDecorator.d.ts +3 -0
- package/build/core/webhook/WebhookDecorator.d.ts.map +1 -0
- package/build/core/webhook/WebhookDecorator.js +45 -0
- package/build/core/webhook/node/WebhookServerConfigNode.d.ts +16 -0
- package/build/core/webhook/node/WebhookServerConfigNode.d.ts.map +1 -0
- package/build/core/webhook/node/WebhookServerConfigNode.html +61 -0
- package/build/core/webhook/node/WebhookServerConfigNode.js +40 -0
- package/build/core/webhook/service/ReverseProxyTypeService.d.ts +29 -0
- package/build/core/webhook/service/ReverseProxyTypeService.d.ts.map +1 -0
- package/build/core/webhook/service/ReverseProxyTypeService.js +24 -0
- package/build/core/webhook/service/WebhookServerService.d.ts +52 -0
- package/build/core/webhook/service/WebhookServerService.d.ts.map +1 -0
- package/build/core/webhook/service/WebhookServerService.js +146 -0
- package/build/core/webhook/template/WebhookTemplate.d.ts +22 -0
- package/build/core/webhook/template/WebhookTemplate.d.ts.map +1 -0
- package/build/core/webhook/template/WebhookTemplate.html +434 -0
- package/build/core/webhook/template/WebhookTemplate.js +12 -0
- package/build/index.d.ts +33 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +55 -0
- package/package.json +67 -0
- package/src/GenerateNodes.ts +42 -0
- package/src/core/NodeConstructor.ts +889 -0
- package/src/core/NodeGenerator.ts +331 -0
- package/src/core/Utils.ts +19 -0
- package/src/core/logger/LoggerDecorator.ts +105 -0
- package/src/core/logger/node/ConsoleLoggerConfigNode.html +131 -0
- package/src/core/logger/node/ConsoleLoggerConfigNode.ts +46 -0
- package/src/core/logger/node/LoggerConfigNode.html +307 -0
- package/src/core/logger/node/LoggerConfigNode.ts +95 -0
- package/src/core/logger/node/LokiLoggerConfigNode.html +153 -0
- package/src/core/logger/node/LokiLoggerConfigNode.ts +58 -0
- package/src/core/logger/node/RestLoggerConfigNode.html +209 -0
- package/src/core/logger/node/RestLoggerConfigNode.ts +67 -0
- package/src/core/logger/service/LoggerService.ts +317 -0
- package/src/core/logger/service/LoggerServiceTypes.ts +26 -0
- package/src/core/logger/template/LoggerTemplate.html +328 -0
- package/src/core/logger/template/LoggerTemplate.ts +23 -0
- package/src/core/metrics/MetricsDecorator.ts +227 -0
- package/src/core/metrics/node/CounterMetricConfigNode.html +48 -0
- package/src/core/metrics/node/CounterMetricConfigNode.ts +62 -0
- package/src/core/metrics/node/GaugeMetricConfigNode.html +48 -0
- package/src/core/metrics/node/GaugeMetricConfigNode.ts +62 -0
- package/src/core/metrics/node/MetricsConfigNode.html +21 -0
- package/src/core/metrics/node/MetricsConfigNode.ts +55 -0
- package/src/core/metrics/node/TimerMetricConfigNode.html +190 -0
- package/src/core/metrics/node/TimerMetricConfigNode.ts +118 -0
- package/src/core/metrics/service/MetricsService.ts +560 -0
- package/src/core/metrics/template/CounterMetricTemplate.html +40 -0
- package/src/core/metrics/template/CounterMetricTemplate.ts +15 -0
- package/src/core/metrics/template/GaugeMetricTemplate.html +39 -0
- package/src/core/metrics/template/GaugeMetricTemplate.ts +15 -0
- package/src/core/metrics/template/MetricsTemplate.html +54 -0
- package/src/core/metrics/template/MetricsTemplate.ts +18 -0
- package/src/core/metrics/template/TimerMetricTemplate.html +39 -0
- package/src/core/metrics/template/TimerMetricTemplate.ts +14 -0
- package/src/core/other/InputDecorator.ts +57 -0
- package/src/core/other/service/InputService.ts +36 -0
- package/src/core/other/service/SettingsService.ts +103 -0
- package/src/core/other/template/BasicTemplate.html +76 -0
- package/src/core/other/template/BasicTemplate.ts +15 -0
- package/src/core/other/template/SettingsTemplate.html +128 -0
- package/src/core/other/template/SettingsTemplate.ts +17 -0
- package/src/core/tagging/NodeDescriptionDecorator.ts +39 -0
- package/src/core/tagging/service/NodeTypeService.ts +67 -0
- package/src/core/webhook/WebhookDecorator.ts +70 -0
- package/src/core/webhook/node/WebhookServerConfigNode.html +61 -0
- package/src/core/webhook/node/WebhookServerConfigNode.ts +38 -0
- package/src/core/webhook/service/ReverseProxyTypeService.ts +46 -0
- package/src/core/webhook/service/WebhookServerService.ts +211 -0
- package/src/core/webhook/template/WebhookTemplate.html +434 -0
- package/src/core/webhook/template/WebhookTemplate.ts +36 -0
- package/src/index.ts +47 -0
package/build/Nodes.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
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
|
+
*/
|
|
10
|
+
"use strict";
|
|
11
|
+
const NodeManager = require("@theotherwillembotha/node-red-plugincore").NodeManager;
|
|
12
|
+
const ConsoleLoggerConfigNode = require("@theotherwillembotha/node-red-plugincore").ConsoleLoggerConfigNode;
|
|
13
|
+
const RestLoggerConfigNode = require("@theotherwillembotha/node-red-plugincore").RestLoggerConfigNode;
|
|
14
|
+
const LokiLoggerConfigNode = require("@theotherwillembotha/node-red-plugincore").LokiLoggerConfigNode;
|
|
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;
|
|
20
|
+
module.exports = (RED) => {
|
|
21
|
+
let manager = new NodeManager(RED);
|
|
22
|
+
manager.registerNodeType("ConsoleLoggerConfigNode", ConsoleLoggerConfigNode);
|
|
23
|
+
manager.registerNodeType("RestLoggerConfigNode", RestLoggerConfigNode);
|
|
24
|
+
manager.registerNodeType("LokiLoggerConfigNode", LokiLoggerConfigNode);
|
|
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
|
+
|
|
32
|
+
|
package/build/Plugins.js
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
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
|
+
*/
|
|
10
|
+
"use strict";
|
|
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
|
+
const NodeTypeService = require("@theotherwillembotha/node-red-plugincore").NodeTypeService;
|
|
17
|
+
|
|
18
|
+
module.exports = function (RED) {
|
|
19
|
+
|
|
20
|
+
// 1. make a list of all the plugins that need to be installed.
|
|
21
|
+
let pluginList = [LoggerService, MetricsService, SettingsService, WebhookServerService, NodeTypeService]
|
|
22
|
+
.map(service => service.getServiceDescriptor())
|
|
23
|
+
.filter(plugin => !RED.plugins.get(plugin.id()));
|
|
24
|
+
|
|
25
|
+
// 2. register a listener if there are any plugins in the pluginList.
|
|
26
|
+
if(pluginList.length > 0){
|
|
27
|
+
RED.events.on('registry:plugin-added', async pluginID => {
|
|
28
|
+
|
|
29
|
+
let addedPlugin = pluginList.find(plugin => plugin.id() === pluginID);
|
|
30
|
+
let plugin = RED.plugins.get(pluginID);
|
|
31
|
+
|
|
32
|
+
if(addedPlugin && plugin.instantiate && !plugin.instance){
|
|
33
|
+
console.log("Deploying instance of: " + plugin.id);
|
|
34
|
+
plugin.instance = new plugin.class();
|
|
35
|
+
|
|
36
|
+
// instantiate the plugin.
|
|
37
|
+
await plugin.instance.init(RED);
|
|
38
|
+
|
|
39
|
+
// publish an event that it has ben deployed.
|
|
40
|
+
RED.events.emit("plugin.instantiated", pluginID);
|
|
41
|
+
|
|
42
|
+
pluginList.splice(pluginList.findIndex(current => current.id() === addedPlugin.id()), 1);
|
|
43
|
+
|
|
44
|
+
// register a flow deployment listener.
|
|
45
|
+
let startupDeployment = true;
|
|
46
|
+
RED.events.on('runtime-event', async (event) => {
|
|
47
|
+
// startup deployment.
|
|
48
|
+
if ("runtime-deploy" === event?.id && startupDeployment) {
|
|
49
|
+
console.log("STARTUP DEPLOYMENT");
|
|
50
|
+
startupDeployment = false;
|
|
51
|
+
const flows = await runtime.flows.getFlows({});
|
|
52
|
+
await plugin.instance.onDeploy(flows);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// stopping flows on redeployment.
|
|
56
|
+
if ("runtime-state" === event?.id && event?.payload?.state === "stop" && event?.payload?.deploy) {
|
|
57
|
+
console.log("REDEPLOY!");
|
|
58
|
+
const flows = await runtime.flows.getFlows({});
|
|
59
|
+
await plugin.instance.onDeploy(flows);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// 3. register the plugins.
|
|
67
|
+
[...pluginList].forEach(plugin => {
|
|
68
|
+
RED.plugins.registerPlugin(plugin.id(), {
|
|
69
|
+
type: plugin.type(),
|
|
70
|
+
instantiate:true,
|
|
71
|
+
class: plugin.clazz()
|
|
72
|
+
});
|
|
73
|
+
})
|
|
74
|
+
};
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import { Node, NodeAPI, NodeAPISettingsWithData } from "node-red";
|
|
2
|
+
import { INamedType, INodeClass, ITemplateClass } from "./NodeGenerator";
|
|
3
|
+
import "reflect-metadata";
|
|
4
|
+
export interface BaseNodeConfig {
|
|
5
|
+
id: string;
|
|
6
|
+
name: string;
|
|
7
|
+
type: string;
|
|
8
|
+
}
|
|
9
|
+
export declare abstract class BaseNode<Config extends BaseNodeConfig> {
|
|
10
|
+
private _node;
|
|
11
|
+
node(): Node<{}>;
|
|
12
|
+
private _config;
|
|
13
|
+
config(): Config;
|
|
14
|
+
private _flow;
|
|
15
|
+
flow(): string;
|
|
16
|
+
id(): string;
|
|
17
|
+
type(): string;
|
|
18
|
+
name(): string;
|
|
19
|
+
protected constructor(node: Node, config: Config);
|
|
20
|
+
protected onInit(): void;
|
|
21
|
+
static getNodeDescriptor(): NodeDescriptor;
|
|
22
|
+
}
|
|
23
|
+
export interface ConfigNodeConfig extends BaseNodeConfig {
|
|
24
|
+
}
|
|
25
|
+
export declare abstract class ConfigNode<Config extends ConfigNodeConfig> extends BaseNode<Config> {
|
|
26
|
+
protected constructor(node: Node, config: Config);
|
|
27
|
+
static getNodeDescriptor(): NodeDescriptor;
|
|
28
|
+
}
|
|
29
|
+
export interface Component {
|
|
30
|
+
}
|
|
31
|
+
export interface TemplateConfig {
|
|
32
|
+
}
|
|
33
|
+
export type NodeDependencyType = INamedType & (INodeClass | IServiceClass);
|
|
34
|
+
export declare class NodeDescriptor {
|
|
35
|
+
private _group;
|
|
36
|
+
private _name;
|
|
37
|
+
private _sourceFile;
|
|
38
|
+
private _dependencies;
|
|
39
|
+
private _templates;
|
|
40
|
+
private _package;
|
|
41
|
+
private _tags;
|
|
42
|
+
constructor(group: string, name: string, sourceFile: string, pkg: string);
|
|
43
|
+
addDependency(dependency: NodeDependencyType): NodeDescriptor;
|
|
44
|
+
addTag(tag: string): NodeDescriptor;
|
|
45
|
+
addTemplate(template: ITemplateClass, config: TemplateConfig): NodeDescriptor;
|
|
46
|
+
group(): string;
|
|
47
|
+
name(): string;
|
|
48
|
+
sourceFile(): string;
|
|
49
|
+
package(): string;
|
|
50
|
+
dependencies(): DependencyType[];
|
|
51
|
+
templates(): {
|
|
52
|
+
template: ITemplateClass;
|
|
53
|
+
config: TemplateConfig;
|
|
54
|
+
}[];
|
|
55
|
+
tags(): string[];
|
|
56
|
+
}
|
|
57
|
+
interface IServiceClass {
|
|
58
|
+
new (): BaseService;
|
|
59
|
+
getServiceDescriptor(): ServiceDescriptor;
|
|
60
|
+
}
|
|
61
|
+
export declare class TemplateDescriptor {
|
|
62
|
+
private _name;
|
|
63
|
+
private _dependencies;
|
|
64
|
+
private _clazz;
|
|
65
|
+
private _templateFile;
|
|
66
|
+
constructor(name: string, clazz: ITemplateClass, templateFile: string, dependencies: DependencyType[]);
|
|
67
|
+
name(): string;
|
|
68
|
+
clazz(): ITemplateClass;
|
|
69
|
+
dependencies(): DependencyType[];
|
|
70
|
+
templateFile(): string;
|
|
71
|
+
}
|
|
72
|
+
export declare class ServiceDescriptor {
|
|
73
|
+
private _id;
|
|
74
|
+
private _name;
|
|
75
|
+
private _type;
|
|
76
|
+
private _sourceFile;
|
|
77
|
+
private _clazz;
|
|
78
|
+
private _dependencies;
|
|
79
|
+
constructor(id: string, name: string, type: string, sourceFile: string, clazz: IServiceClass, dependencies?: DependencyType[]);
|
|
80
|
+
id(): string;
|
|
81
|
+
name(): string;
|
|
82
|
+
type(): string;
|
|
83
|
+
sourceFile(): string;
|
|
84
|
+
clazz(): IServiceClass;
|
|
85
|
+
dependencies(): DependencyType[];
|
|
86
|
+
}
|
|
87
|
+
export type DependencyType = INamedType & (ITemplateClass | INodeClass | IServiceClass);
|
|
88
|
+
export declare abstract class Template {
|
|
89
|
+
static getTemplateDescriptor(): TemplateDescriptor;
|
|
90
|
+
}
|
|
91
|
+
declare class PostConstructDecoratorBuilder<TMetadata = any> {
|
|
92
|
+
private decoratorName;
|
|
93
|
+
private initLogic?;
|
|
94
|
+
private validator?;
|
|
95
|
+
private defaultConfig?;
|
|
96
|
+
constructor(decoratorName: string);
|
|
97
|
+
withDefaultConfig(config: TMetadata): this;
|
|
98
|
+
withInitLogic(initLogic: (instance: any, propertyKey: string, metadata: any) => void): this;
|
|
99
|
+
withValidator(validator: (target: any, propertyKey: string, descriptor: PropertyDescriptor) => void): this;
|
|
100
|
+
build(): any;
|
|
101
|
+
}
|
|
102
|
+
export declare function createPostConstructDecorator<TMetadata = any>(decoratorName: string): PostConstructDecoratorBuilder<TMetadata>;
|
|
103
|
+
export declare class NodeManager {
|
|
104
|
+
private static PLUGINID;
|
|
105
|
+
private static _RED;
|
|
106
|
+
private nodeTypeService;
|
|
107
|
+
private typeBacklog;
|
|
108
|
+
constructor(RED: NodeAPI<NodeAPISettingsWithData>);
|
|
109
|
+
static get RED(): NodeAPI<NodeAPISettingsWithData>;
|
|
110
|
+
registerService(type: IServiceClass): NodeManager;
|
|
111
|
+
registerNodeType(typeName: string, type: INodeClass): NodeManager;
|
|
112
|
+
}
|
|
113
|
+
export type FlowDeployment = {
|
|
114
|
+
rev: string;
|
|
115
|
+
flows: [FlowElement];
|
|
116
|
+
};
|
|
117
|
+
export type FlowElement = {
|
|
118
|
+
id: string;
|
|
119
|
+
type: string;
|
|
120
|
+
};
|
|
121
|
+
export declare abstract class BaseService {
|
|
122
|
+
private _name;
|
|
123
|
+
constructor(name: string);
|
|
124
|
+
name(): string;
|
|
125
|
+
abstract init(red: NodeAPI<NodeAPISettingsWithData>): Promise<void> | void;
|
|
126
|
+
abstract deinit(red: NodeAPI<NodeAPISettingsWithData>): Promise<void> | void;
|
|
127
|
+
onDeploy(flowDeployment: FlowDeployment): Promise<void> | void;
|
|
128
|
+
static getServiceDescriptor(): ServiceDescriptor;
|
|
129
|
+
}
|
|
130
|
+
export type DefaultTemplateType = {
|
|
131
|
+
type?: string;
|
|
132
|
+
value?: string;
|
|
133
|
+
required: boolean;
|
|
134
|
+
minInstances?: number;
|
|
135
|
+
maxInstances?: number;
|
|
136
|
+
};
|
|
137
|
+
export declare class NodeBuilder {
|
|
138
|
+
private _name;
|
|
139
|
+
private _category;
|
|
140
|
+
private _defaults;
|
|
141
|
+
private _credentials?;
|
|
142
|
+
private _color?;
|
|
143
|
+
private _label?;
|
|
144
|
+
private _icon?;
|
|
145
|
+
private _paletteLabel?;
|
|
146
|
+
private _labelStyle?;
|
|
147
|
+
private _inputs?;
|
|
148
|
+
private _outputs;
|
|
149
|
+
private _onIncludeOnce;
|
|
150
|
+
private _onIncludeEditPrepare;
|
|
151
|
+
private _onIncludeEditSave;
|
|
152
|
+
private _onIncludeEditCancel;
|
|
153
|
+
private _onIncludeEditDelete;
|
|
154
|
+
private _onIncludeEditForm;
|
|
155
|
+
private _onIncludeDocumentation;
|
|
156
|
+
constructor(name: string, category: string);
|
|
157
|
+
addDefault(name: string, template: DefaultTemplateType): NodeBuilder;
|
|
158
|
+
setIcon(icon: string): NodeBuilder;
|
|
159
|
+
setColor(color: string): NodeBuilder;
|
|
160
|
+
setLabel(label: () => {}): NodeBuilder;
|
|
161
|
+
setPaletteLabel(paletteLabel: string): NodeBuilder;
|
|
162
|
+
setLabelStyle(labelStyle: string): NodeBuilder;
|
|
163
|
+
setInput(input: string): NodeBuilder;
|
|
164
|
+
addOutputs(...outputs: string[]): NodeBuilder;
|
|
165
|
+
addTemplate(template: {
|
|
166
|
+
template: ITemplateClass;
|
|
167
|
+
config: TemplateConfig;
|
|
168
|
+
}): NodeBuilder;
|
|
169
|
+
addIncludeOnce(source: string, script: string): NodeBuilder;
|
|
170
|
+
addIncludeEditPrepare(source: string, script: string): NodeBuilder;
|
|
171
|
+
addIncludeEditSave(source: string, script: string): NodeBuilder;
|
|
172
|
+
addIncludeEditCancel(source: string, script: string): NodeBuilder;
|
|
173
|
+
addIncludeEditDelete(source: string, script: string): NodeBuilder;
|
|
174
|
+
addIncludeEditForm(source: string, script: string): NodeBuilder;
|
|
175
|
+
addIncludeDocumentation(source: string, script: string): NodeBuilder;
|
|
176
|
+
private serializeProperty;
|
|
177
|
+
private serializeHTML;
|
|
178
|
+
private serializeJavaScript;
|
|
179
|
+
private serializeFormEntry;
|
|
180
|
+
private serializeDefault;
|
|
181
|
+
private serializeDocumentationEntry;
|
|
182
|
+
buildType(): string;
|
|
183
|
+
buildHtml(): string;
|
|
184
|
+
buildDocumentation(): string;
|
|
185
|
+
}
|
|
186
|
+
declare let buildNode: (node: INodeClass) => string;
|
|
187
|
+
export { buildNode };
|
|
188
|
+
//# sourceMappingURL=NodeConstructor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeConstructor.d.ts","sourceRoot":"","sources":["../../src/core/NodeConstructor.ts"],"names":[],"mappings":"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"}
|