@fsai-flow/workflow 0.0.2 → 0.1.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 (136) hide show
  1. package/dist/README.md +31 -0
  2. package/dist/package.json +42 -0
  3. package/dist/src/index.d.ts +22 -0
  4. package/dist/src/index.d.ts.map +1 -0
  5. package/dist/src/index.js +68 -0
  6. package/dist/src/index.js.map +1 -0
  7. package/dist/src/lib/Constants.d.ts +69 -0
  8. package/dist/src/lib/Constants.d.ts.map +1 -0
  9. package/dist/src/lib/Constants.js +106 -0
  10. package/dist/src/lib/Constants.js.map +1 -0
  11. package/dist/src/lib/DeferredPromise.d.ts +7 -0
  12. package/dist/src/lib/DeferredPromise.d.ts.map +1 -0
  13. package/dist/src/lib/DeferredPromise.js +11 -0
  14. package/dist/src/lib/DeferredPromise.js.map +1 -0
  15. package/dist/src/lib/Expression.d.ts +66 -0
  16. package/dist/src/lib/Expression.d.ts.map +1 -0
  17. package/dist/src/lib/Expression.js +247 -0
  18. package/dist/src/lib/Expression.js.map +1 -0
  19. package/dist/src/lib/Interfaces.d.ts +1623 -0
  20. package/dist/src/lib/Interfaces.d.ts.map +1 -0
  21. package/dist/src/lib/Interfaces.js +44 -0
  22. package/dist/src/lib/Interfaces.js.map +1 -0
  23. package/dist/src/lib/LoggerProxy.d.ts +10 -0
  24. package/dist/src/lib/LoggerProxy.d.ts.map +1 -0
  25. package/dist/src/lib/LoggerProxy.js +40 -0
  26. package/dist/src/lib/LoggerProxy.js.map +1 -0
  27. package/dist/src/lib/MetadataUtils.d.ts +5 -0
  28. package/dist/src/lib/MetadataUtils.d.ts.map +1 -0
  29. package/dist/src/lib/MetadataUtils.js +27 -0
  30. package/dist/src/lib/MetadataUtils.js.map +1 -0
  31. package/dist/src/lib/NodeErrors.d.ts +83 -0
  32. package/dist/src/lib/NodeErrors.d.ts.map +1 -0
  33. package/dist/src/lib/NodeErrors.js +284 -0
  34. package/dist/src/lib/NodeErrors.js.map +1 -0
  35. package/dist/src/lib/NodeHelpers.d.ts +199 -0
  36. package/dist/src/lib/NodeHelpers.d.ts.map +1 -0
  37. package/dist/src/lib/NodeHelpers.js +1335 -0
  38. package/dist/src/lib/NodeHelpers.js.map +1 -0
  39. package/dist/src/lib/ObservableObject.d.ts +6 -0
  40. package/dist/src/lib/ObservableObject.d.ts.map +1 -0
  41. package/dist/src/lib/ObservableObject.js +61 -0
  42. package/dist/src/lib/ObservableObject.js.map +1 -0
  43. package/dist/src/lib/RoutingNode.d.ts +24 -0
  44. package/dist/src/lib/RoutingNode.d.ts.map +1 -0
  45. package/dist/src/lib/RoutingNode.js +528 -0
  46. package/dist/src/lib/RoutingNode.js.map +1 -0
  47. package/dist/src/lib/TelemetryHelpers.d.ts +4 -0
  48. package/dist/src/lib/TelemetryHelpers.d.ts.map +1 -0
  49. package/dist/src/lib/TelemetryHelpers.js +67 -0
  50. package/dist/src/lib/TelemetryHelpers.js.map +1 -0
  51. package/dist/src/lib/TypeValidation.d.ts +22 -0
  52. package/dist/src/lib/TypeValidation.d.ts.map +1 -0
  53. package/dist/src/lib/TypeValidation.js +376 -0
  54. package/dist/src/lib/TypeValidation.js.map +1 -0
  55. package/dist/src/lib/VersionedNodeType.d.ts +10 -0
  56. package/dist/src/lib/VersionedNodeType.d.ts.map +1 -0
  57. package/dist/src/lib/VersionedNodeType.js +24 -0
  58. package/dist/src/lib/VersionedNodeType.js.map +1 -0
  59. package/dist/src/lib/Workflow.d.ts +249 -0
  60. package/dist/src/lib/Workflow.d.ts.map +1 -0
  61. package/dist/src/lib/Workflow.js +899 -0
  62. package/dist/src/lib/Workflow.js.map +1 -0
  63. package/dist/src/lib/WorkflowDataProxy.d.ts +88 -0
  64. package/dist/src/lib/WorkflowDataProxy.d.ts.map +1 -0
  65. package/dist/src/lib/WorkflowDataProxy.js +583 -0
  66. package/dist/src/lib/WorkflowDataProxy.js.map +1 -0
  67. package/dist/src/lib/WorkflowErrors.d.ts +10 -0
  68. package/dist/src/lib/WorkflowErrors.d.ts.map +1 -0
  69. package/dist/src/lib/WorkflowErrors.js +18 -0
  70. package/dist/src/lib/WorkflowErrors.js.map +1 -0
  71. package/dist/src/lib/WorkflowHooks.d.ts +12 -0
  72. package/dist/src/lib/WorkflowHooks.d.ts.map +1 -0
  73. package/dist/src/lib/WorkflowHooks.js +32 -0
  74. package/dist/src/lib/WorkflowHooks.js.map +1 -0
  75. package/dist/src/lib/errors/base/base.error.d.ts +30 -0
  76. package/dist/src/lib/errors/base/base.error.d.ts.map +1 -0
  77. package/dist/src/lib/errors/base/base.error.js +47 -0
  78. package/dist/src/lib/errors/base/base.error.js.map +1 -0
  79. package/dist/src/lib/errors/base/operational.error.d.ts +16 -0
  80. package/dist/src/lib/errors/base/operational.error.d.ts.map +1 -0
  81. package/dist/src/lib/errors/base/operational.error.js +19 -0
  82. package/dist/src/lib/errors/base/operational.error.js.map +1 -0
  83. package/dist/src/lib/errors/error.types.d.ts +14 -0
  84. package/dist/src/lib/errors/error.types.d.ts.map +1 -0
  85. package/dist/src/lib/errors/error.types.js +3 -0
  86. package/dist/src/lib/errors/error.types.js.map +1 -0
  87. package/dist/src/lib/errors/index.d.ts +2 -0
  88. package/dist/src/lib/errors/index.d.ts.map +1 -0
  89. package/dist/src/lib/errors/index.js +6 -0
  90. package/dist/src/lib/errors/index.js.map +1 -0
  91. package/dist/src/lib/result.d.ts +20 -0
  92. package/dist/src/lib/result.d.ts.map +1 -0
  93. package/dist/src/lib/result.js +36 -0
  94. package/dist/src/lib/result.js.map +1 -0
  95. package/dist/src/lib/utils.d.ts +51 -0
  96. package/dist/src/lib/utils.d.ts.map +1 -0
  97. package/dist/src/lib/utils.js +119 -0
  98. package/dist/src/lib/utils.js.map +1 -0
  99. package/package.json +49 -35
  100. package/.eslintrc.json +0 -33
  101. package/eslint.config.js +0 -19
  102. package/jest.config.ts +0 -10
  103. package/project.json +0 -19
  104. package/src/index.ts +0 -33
  105. package/src/lib/Constants.ts +0 -124
  106. package/src/lib/DeferredPromise.ts +0 -14
  107. package/src/lib/Expression.ts +0 -375
  108. package/src/lib/Interfaces.ts +0 -2262
  109. package/src/lib/LoggerProxy.ts +0 -43
  110. package/src/lib/MetadataUtils.ts +0 -34
  111. package/src/lib/NodeErrors.ts +0 -332
  112. package/src/lib/NodeHelpers.ts +0 -1666
  113. package/src/lib/ObservableObject.ts +0 -77
  114. package/src/lib/RoutingNode.ts +0 -862
  115. package/src/lib/TelemetryHelpers.ts +0 -86
  116. package/src/lib/TypeValidation.ts +0 -431
  117. package/src/lib/VersionedNodeType.ts +0 -30
  118. package/src/lib/Workflow.ts +0 -1270
  119. package/src/lib/WorkflowDataProxy.ts +0 -708
  120. package/src/lib/WorkflowErrors.ts +0 -18
  121. package/src/lib/WorkflowHooks.ts +0 -51
  122. package/src/lib/errors/base/base.error.ts +0 -68
  123. package/src/lib/errors/base/operational.error.ts +0 -21
  124. package/src/lib/errors/error.types.ts +0 -14
  125. package/src/lib/errors/index.ts +0 -1
  126. package/src/lib/result.ts +0 -34
  127. package/src/lib/utils.ts +0 -166
  128. package/tests/Helpers.ts +0 -667
  129. package/tests/NodeHelpers.test.ts +0 -3053
  130. package/tests/ObservableObject.test.ts +0 -171
  131. package/tests/RoutingNode.test.ts +0 -1680
  132. package/tests/Workflow.test.ts +0 -1284
  133. package/tests/WorkflowDataProxy.test.ts +0 -199
  134. package/tsconfig.json +0 -27
  135. package/tsconfig.lib.json +0 -11
  136. package/tsconfig.spec.json +0 -14
@@ -0,0 +1,284 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NodeApiError = exports.NodeOperationError = void 0;
4
+ /* eslint-disable @typescript-eslint/no-shadow */
5
+ /* eslint-disable @typescript-eslint/no-unsafe-call */
6
+ /* eslint-disable no-param-reassign */
7
+ /* eslint-disable @typescript-eslint/no-unsafe-member-access */
8
+ /* eslint-disable @typescript-eslint/no-unsafe-return */
9
+ /* eslint-disable @typescript-eslint/no-unsafe-assignment */
10
+ // eslint-disable-next-line max-classes-per-file
11
+ const xml2js_1 = require("xml2js");
12
+ /**
13
+ * Top-level properties where an error message can be found in an API response.
14
+ */
15
+ const ERROR_MESSAGE_PROPERTIES = [
16
+ "cause",
17
+ "error",
18
+ "message",
19
+ "Message",
20
+ "msg",
21
+ "messages",
22
+ "description",
23
+ "reason",
24
+ "detail",
25
+ "details",
26
+ "errors",
27
+ "errorMessage",
28
+ "errorMessages",
29
+ "ErrorMessage",
30
+ "error_message",
31
+ "_error_message",
32
+ "errorDescription",
33
+ "error_description",
34
+ "error_summary",
35
+ "title",
36
+ "text",
37
+ "field",
38
+ "err",
39
+ "type",
40
+ ];
41
+ /**
42
+ * Top-level properties where an HTTP error code can be found in an API response.
43
+ */
44
+ const ERROR_STATUS_PROPERTIES = ["statusCode", "status", "code", "status_code", "errorCode", "error_code"];
45
+ /**
46
+ * Properties where a nested object can be found in an API response.
47
+ */
48
+ const ERROR_NESTING_PROPERTIES = ["error", "err", "response", "body", "data"];
49
+ /**
50
+ * Base class for specific NodeError-types, with functionality for finding
51
+ * a value recursively inside an error object.
52
+ */
53
+ class NodeError extends Error {
54
+ description;
55
+ cause;
56
+ node;
57
+ timestamp;
58
+ constructor(node, error) {
59
+ super();
60
+ this.name = this.constructor.name;
61
+ this.cause = error;
62
+ this.node = node;
63
+ this.timestamp = Date.now();
64
+ if (error.message) {
65
+ this.message = error.message;
66
+ }
67
+ }
68
+ /**
69
+ * Finds property through exploration based on potential keys and traversal keys.
70
+ * Depth-first approach.
71
+ *
72
+ * This method iterates over `potentialKeys` and, if the value at the key is a
73
+ * truthy value, the type of the value is checked:
74
+ * (1) if a string or number, the value is returned as a string; or
75
+ * (2) if an array,
76
+ * its string or number elements are collected as a long string,
77
+ * its object elements are traversed recursively (restart this function
78
+ * with each object as a starting point), or
79
+ * (3) if it is an object, it traverses the object and nested ones recursively
80
+ * based on the `potentialKeys` and returns a string if found.
81
+ *
82
+ * If nothing found via `potentialKeys` this method iterates over `traversalKeys` and
83
+ * if the value at the key is a traversable object, it restarts with the object as the
84
+ * new starting point (recursion).
85
+ * If nothing found for any of the `traversalKeys`, exploration continues with remaining
86
+ * `traversalKeys`.
87
+ *
88
+ * Otherwise, if all the paths have been exhausted and no value is eligible, `null` is
89
+ * returned.
90
+ *
91
+ * @param {JsonObject} error
92
+ * @param {string[]} potentialKeys
93
+ * @param {string[]} traversalKeys
94
+ * @returns {string | null}
95
+ */
96
+ findProperty(error, potentialKeys, traversalKeys = []) {
97
+ // eslint-disable-next-line no-restricted-syntax
98
+ for (const key of potentialKeys) {
99
+ if (error[key]) {
100
+ if (typeof error[key] === "string")
101
+ return error[key];
102
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
103
+ if (typeof error[key] === "number")
104
+ return error[key].toString();
105
+ if (Array.isArray(error[key])) {
106
+ // @ts-ignore
107
+ const resolvedErrors = error[key]
108
+ // @ts-ignore
109
+ .map((error) => {
110
+ if (typeof error === "string")
111
+ return error;
112
+ if (typeof error === "number")
113
+ return error.toString();
114
+ if (this.isTraversableObject(error)) {
115
+ return this.findProperty(error, potentialKeys);
116
+ }
117
+ return null;
118
+ })
119
+ .filter((errorValue) => errorValue !== null);
120
+ if (resolvedErrors.length === 0) {
121
+ return null;
122
+ }
123
+ return resolvedErrors.join(" | ");
124
+ }
125
+ if (this.isTraversableObject(error[key])) {
126
+ const property = this.findProperty(error[key], potentialKeys);
127
+ if (property) {
128
+ return property;
129
+ }
130
+ }
131
+ }
132
+ }
133
+ // eslint-disable-next-line no-restricted-syntax
134
+ for (const key of traversalKeys) {
135
+ if (this.isTraversableObject(error[key])) {
136
+ const property = this.findProperty(error[key], potentialKeys, traversalKeys);
137
+ if (property) {
138
+ return property;
139
+ }
140
+ }
141
+ }
142
+ return null;
143
+ }
144
+ /**
145
+ * Check if a value is an object with at least one key, i.e. it can be traversed.
146
+ */
147
+ isTraversableObject(value) {
148
+ return !!value && typeof value === "object" && !Array.isArray(value) && !!Object.keys(value).length;
149
+ }
150
+ /**
151
+ * Remove circular references from objects.
152
+ */
153
+ removeCircularRefs(obj, seen = new Set()) {
154
+ seen.add(obj);
155
+ Object.entries(obj).forEach(([key, value]) => {
156
+ if (this.isTraversableObject(value)) {
157
+ // eslint-disable-next-line @typescript-eslint/no-unused-expressions
158
+ if (seen.has(value)) {
159
+ obj[key] = { circularReference: true };
160
+ }
161
+ else {
162
+ this.removeCircularRefs(value, seen);
163
+ }
164
+ return;
165
+ }
166
+ if (Array.isArray(value)) {
167
+ value.forEach((val, index) => {
168
+ if (seen.has(val)) {
169
+ value[index] = { circularReference: true };
170
+ return;
171
+ }
172
+ if (this.isTraversableObject(val)) {
173
+ this.removeCircularRefs(val, seen);
174
+ }
175
+ });
176
+ }
177
+ });
178
+ }
179
+ }
180
+ /**
181
+ * Class for instantiating an operational error, e.g. an invalid credentials error.
182
+ */
183
+ class NodeOperationError extends NodeError {
184
+ itemIndex;
185
+ functionality;
186
+ constructor(node, error, options) {
187
+ if (typeof error === "string") {
188
+ error = new Error(error);
189
+ }
190
+ super(node, error);
191
+ if (options?.description) {
192
+ this.description = options.description;
193
+ }
194
+ if (options?.itemIndex !== undefined) {
195
+ this.itemIndex = options.itemIndex;
196
+ }
197
+ if (options?.functionality) {
198
+ this.functionality = options.functionality;
199
+ }
200
+ }
201
+ }
202
+ exports.NodeOperationError = NodeOperationError;
203
+ const STATUS_CODE_MESSAGES = {
204
+ "4XX": "Your request is invalid or could not be processed by the service",
205
+ "400": "Bad request - please check your parameters",
206
+ "401": "Authorization failed - please check your credentials",
207
+ "402": "Payment required - perhaps check your payment details?",
208
+ "403": "Forbidden - perhaps check your credentials?",
209
+ "404": "The resource you are requesting could not be found",
210
+ "405": "Method not allowed - please check you are using the right HTTP method",
211
+ "429": "The service is receiving too many requests from you! Perhaps take a break?",
212
+ "5XX": "The service failed to process your request",
213
+ "500": "The service was not able to process your request",
214
+ "502": "Bad gateway - the service failed to handle your request",
215
+ "503": "Service unavailable - perhaps try again later?",
216
+ "504": "Gateway timed out - perhaps try again later?",
217
+ };
218
+ const UNKNOWN_ERROR_MESSAGE = "UNKNOWN ERROR - check the detailed error for more information";
219
+ /**
220
+ * Class for instantiating an error in an API response, e.g. a 404 Not Found response,
221
+ * with an HTTP error code, an error message and a description.
222
+ */
223
+ class NodeApiError extends NodeError {
224
+ httpCode;
225
+ constructor(node, error, { message, description, httpCode, parseXml, } = {}) {
226
+ super(node, error);
227
+ if (error.error) {
228
+ // only for request library error
229
+ this.removeCircularRefs(error.error);
230
+ }
231
+ if (message) {
232
+ this.message = message;
233
+ this.description = description;
234
+ this.httpCode = httpCode ?? null;
235
+ return;
236
+ }
237
+ this.httpCode = this.findProperty(error, ERROR_STATUS_PROPERTIES, ERROR_NESTING_PROPERTIES);
238
+ this.setMessage();
239
+ if (parseXml) {
240
+ this.setDescriptionFromXml(error.error);
241
+ return;
242
+ }
243
+ this.description = this.findProperty(error, ERROR_MESSAGE_PROPERTIES, ERROR_NESTING_PROPERTIES);
244
+ }
245
+ setDescriptionFromXml(xml) {
246
+ // eslint-disable-next-line @typescript-eslint/naming-convention
247
+ (0, xml2js_1.parseString)(xml, { explicitArray: false }, (_, result) => {
248
+ if (!result)
249
+ return;
250
+ const topLevelKey = Object.keys(result)[0];
251
+ this.description = this.findProperty(
252
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
253
+ result[topLevelKey], ERROR_MESSAGE_PROPERTIES, ["Error"].concat(ERROR_NESTING_PROPERTIES));
254
+ });
255
+ }
256
+ /**
257
+ * Set the error's message based on the HTTP status code.
258
+ *
259
+ * @returns {void}
260
+ */
261
+ setMessage() {
262
+ if (!this.httpCode) {
263
+ this.httpCode = null;
264
+ this.message = UNKNOWN_ERROR_MESSAGE;
265
+ return;
266
+ }
267
+ if (STATUS_CODE_MESSAGES[this.httpCode]) {
268
+ this.message = STATUS_CODE_MESSAGES[this.httpCode];
269
+ return;
270
+ }
271
+ switch (this.httpCode.charAt(0)) {
272
+ case "4":
273
+ this.message = STATUS_CODE_MESSAGES["4XX"];
274
+ break;
275
+ case "5":
276
+ this.message = STATUS_CODE_MESSAGES["5XX"];
277
+ break;
278
+ default:
279
+ this.message = UNKNOWN_ERROR_MESSAGE;
280
+ }
281
+ }
282
+ }
283
+ exports.NodeApiError = NodeApiError;
284
+ //# sourceMappingURL=NodeErrors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeErrors.js","sourceRoot":"","sources":["../../../src/lib/NodeErrors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,199 @@
1
+ import { type IContextObject, type INode, type INodeCredentialDescription, type INodeExecutionData, type INodeInputConfiguration, type INodeIssues, type INodeOutputConfiguration, type INodeParameters, type INodeProperties, type INodePropertyCollection, type INodeType, type INodeTypeDescription, type INodeVersionedType, type IParameterDependencies, type IRunExecutionData, type IWebhookData, type IWorkflowExecuteAdditionalData, type NodeConnectionType, type NodeParameterValue } from "./Interfaces";
2
+ import type { Workflow } from "./Workflow";
3
+ export declare function getConnectionTypes(connections: Array<NodeConnectionType | INodeInputConfiguration | INodeOutputConfiguration>): NodeConnectionType[];
4
+ export declare const cronNodeOptions: INodePropertyCollection[];
5
+ export declare function isSubNodeType(typeDescription: Pick<INodeTypeDescription, "outputs"> | null): boolean;
6
+ /**
7
+ * Gets special parameters which should be added to nodeTypes depending
8
+ * on their type or configuration
9
+ *
10
+ * @export
11
+ * @param {INodeType} nodeType
12
+ * @returns
13
+ */
14
+ export declare function getSpecialNodeParameters(nodeType: INodeType): INodeProperties[];
15
+ /**
16
+ * Returns if the parameter should be displayed or not
17
+ *
18
+ * @export
19
+ * @param {INodeParameters} nodeValues The data on the node which decides if the parameter
20
+ * should be displayed
21
+ * @param {(INodeProperties | INodeCredentialDescription)} parameter The parameter to check if it should be displayed
22
+ * @param {INodeParameters} [nodeValuesRoot] The root node-parameter-data
23
+ * @returns
24
+ */
25
+ export declare function displayParameter(nodeValues: INodeParameters, parameter: INodeProperties | INodeCredentialDescription, nodeValuesRoot?: INodeParameters): boolean;
26
+ /**
27
+ * Returns if the given parameter should be displayed or not considering the path
28
+ * to the properties
29
+ *
30
+ * @export
31
+ * @param {INodeParameters} nodeValues The data on the node which decides if the parameter
32
+ * should be displayed
33
+ * @param {(INodeProperties | INodeCredentialDescription)} parameter The parameter to check if it should be displayed
34
+ * @param {string} path The path to the property
35
+ * @returns
36
+ */
37
+ export declare function displayParameterPath(nodeValues: INodeParameters, parameter: INodeProperties | INodeCredentialDescription, path: string): boolean;
38
+ /**
39
+ * Returns the context data
40
+ *
41
+ * @export
42
+ * @param {IRunExecutionData} runExecutionData The run execution data
43
+ * @param {string} type The data type. "node"/"flow"
44
+ * @param {INode} [node] If type "node" is set the node to return the context of has to be supplied
45
+ * @returns {IContextObject}
46
+ */
47
+ export declare function getContext(runExecutionData: IRunExecutionData, type: string, node?: INode): IContextObject;
48
+ /**
49
+ * Returns which parameters are dependent on which
50
+ *
51
+ * @export
52
+ * @param {INodeProperties[]} nodePropertiesArray
53
+ * @returns {IParameterDependencies}
54
+ */
55
+ export declare function getParamterDependencies(nodePropertiesArray: INodeProperties[]): IParameterDependencies;
56
+ /**
57
+ * Returns in which order the parameters should be resolved
58
+ * to have the parameters available they depend on
59
+ *
60
+ * @export
61
+ * @param {INodeProperties[]} nodePropertiesArray
62
+ * @param {IParameterDependencies} parameterDependencies
63
+ * @returns {number[]}
64
+ */
65
+ export declare function getParamterResolveOrder(nodePropertiesArray: INodeProperties[], parameterDependencies: IParameterDependencies): number[];
66
+ /**
67
+ * Returns the node parameter values. Depending on the settings it either just returns the none
68
+ * default values or it applies all the default values.
69
+ *
70
+ * @export
71
+ * @param {INodeProperties[]} nodePropertiesArray The properties which exist and their settings
72
+ * @param {INodeParameters} nodeValues The node parameter data
73
+ * @param {boolean} returnDefaults If default values get added or only none default values returned
74
+ * @param {boolean} returnNoneDisplayed If also values which should not be displayed should be returned
75
+ * @param {boolean} [onlySimpleTypes=false] If only simple types should be resolved
76
+ * @param {boolean} [dataIsResolved=false] If nodeValues are already fully resolved (so that all default values got added already)
77
+ * @param {INodeParameters} [nodeValuesRoot] The root node-parameter-data
78
+ * @returns {(INodeParameters | null)}
79
+ */
80
+ export declare function getNodeParameters(nodePropertiesArray: INodeProperties[], nodeValues: INodeParameters, returnDefaults: boolean, returnNoneDisplayed: boolean, onlySimpleTypes?: boolean, dataIsResolved?: boolean, nodeValuesRoot?: INodeParameters, parentType?: string, parameterDependencies?: IParameterDependencies): INodeParameters | null;
81
+ /**
82
+ * Brings the output data in a format that can be returned from a node
83
+ *
84
+ * @export
85
+ * @param {INodeExecutionData[]} outputData
86
+ * @param {number} [outputIndex=0]
87
+ * @returns {Promise<INodeExecutionData[][]>}
88
+ */
89
+ export declare function prepareOutputData(outputData: INodeExecutionData[], outputIndex?: number): Promise<INodeExecutionData[][]>;
90
+ /**
91
+ * Returns all the webhooks which should be created for the give node
92
+ *
93
+ * @export
94
+ *
95
+ * @param {INode} node
96
+ * @returns {IWebhookData[]}
97
+ */
98
+ export declare function getNodeWebhooks(workflow: Workflow, node: INode, additionalData: IWorkflowExecuteAdditionalData, ignoreRestartWehbooks?: boolean): IWebhookData[];
99
+ export declare function getNodeWebhooksBasic(workflow: Workflow, node: INode): IWebhookData[];
100
+ /**
101
+ * Returns the webhook path
102
+ *
103
+ * @export
104
+ * @param {string} workflowId
105
+ * @param {string} nodeTypeName
106
+ * @param {string} path
107
+ * @returns {string}
108
+ */
109
+ export declare function getNodeWebhookPath(workflowId: string, node: INode, path: string, isFullPath?: boolean, restartWebhook?: boolean): string;
110
+ /**
111
+ * Returns the webhook URL
112
+ *
113
+ * @export
114
+ * @param {string} baseUrl
115
+ * @param {string} workflowId
116
+ * @param {string} nodeTypeName
117
+ * @param {string} path
118
+ * @param {boolean} isFullPath
119
+ * @returns {string}
120
+ */
121
+ export declare function getNodeWebhookUrl(baseUrl: string, workflowId: string, node: INode, path: string, isFullPath?: boolean): string;
122
+ /**
123
+ * Returns all the parameter-issues of the node
124
+ *
125
+ * @export
126
+ * @param {INodeProperties[]} nodePropertiesArray The properties of the node
127
+ * @param {INode} node The data of the node
128
+ * @returns {(INodeIssues | null)}
129
+ */
130
+ export declare function getNodeParametersIssues(nodePropertiesArray: INodeProperties[], node: INode): INodeIssues | null;
131
+ /**
132
+ * Returns the issues of the node as string
133
+ *
134
+ * @export
135
+ * @param {INodeIssues} issues The issues of the node
136
+ * @param {INode} node The node
137
+ * @returns {string[]}
138
+ */
139
+ export declare function nodeIssuesToString(issues: INodeIssues, node?: INode): string[];
140
+ /**
141
+ * Adds an issue if the parameter is not defined
142
+ *
143
+ * @export
144
+ * @param {INodeIssues} foundIssues The already found issues
145
+ * @param {INodeProperties} nodeProperties The properties of the node
146
+ * @param {NodeParameterValue} value The value of the parameter
147
+ */
148
+ export declare function addToIssuesIfMissing(foundIssues: INodeIssues, nodeProperties: INodeProperties, value: NodeParameterValue): void;
149
+ /**
150
+ * Returns the parameter value
151
+ *
152
+ * @export
153
+ * @param {INodeParameters} nodeValues The values of the node
154
+ * @param {string} parameterName The name of the parameter to return the value of
155
+ * @param {string} path The path to the properties
156
+ * @returns
157
+ */
158
+ export declare function getParameterValueByPath(nodeValues: INodeParameters, parameterName: string, path: string): INodeParameters | NodeParameterValue | NodeParameterValue[] | INodeParameters[];
159
+ /**
160
+ * Returns all the issues with the given node-values
161
+ *
162
+ * @export
163
+ * @param {INodeProperties} nodeProperties The properties of the node
164
+ * @param {INodeParameters} nodeValues The values of the node
165
+ * @param {string} path The path to the properties
166
+ * @returns {INodeIssues}
167
+ */
168
+ export declare function getParameterIssues(nodeProperties: INodeProperties, nodeValues: INodeParameters, path: string): INodeIssues;
169
+ /**
170
+ * Merges multiple NodeIssues together
171
+ *
172
+ * @export
173
+ * @param {INodeIssues} destination The issues to merge into
174
+ * @param {(INodeIssues | null)} source The issues to merge
175
+ * @returns
176
+ */
177
+ export declare function mergeIssues(destination: INodeIssues, source: INodeIssues | null): void;
178
+ /**
179
+ * Merges the given node properties
180
+ *
181
+ * @export
182
+ * @param {INodeProperties[]} mainProperties
183
+ * @param {INodeProperties[]} addProperties
184
+ */
185
+ export declare function mergeNodeProperties(mainProperties: INodeProperties[], addProperties: INodeProperties[]): void;
186
+ export declare function getVersionedNodeType(object: INodeVersionedType | INodeType, version?: number): INodeType;
187
+ export declare function getVersionedNodeTypeAll(object: INodeVersionedType | INodeType): INodeType[];
188
+ export declare function isNodeTypeVersioned(object: INodeVersionedType | INodeType): boolean;
189
+ /**
190
+ * Returns the parameter value from the node parameters
191
+ *
192
+ * @export
193
+ * @param {INodeParameters} nodeParameters The node parameters
194
+ * @param {string} parameterName The name of the parameter to get
195
+ * @param {number} [index=0] The index of the parameter value if it's an array
196
+ * @returns {NodeParameterValue | undefined} The parameter value
197
+ */
198
+ export declare function getParameterValue(nodeParameters: INodeParameters, parameterName: string, index?: number): NodeParameterValue | undefined;
199
+ //# sourceMappingURL=NodeHelpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeHelpers.d.ts","sourceRoot":"","sources":["../../../src/lib/NodeHelpers.ts"],"names":[],"mappings":"AAiBA,OAAO,EACN,KAAK,cAAc,EACnB,KAAK,KAAK,EACV,KAAK,0BAA0B,EAC/B,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAE5B,KAAK,WAAW,EAChB,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC5B,KAAK,SAAS,EACd,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,8BAA8B,EACnC,KAAK,kBAAkB,EAEvB,KAAK,kBAAkB,EAEvB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,wBAAgB,kBAAkB,CACjC,WAAW,EAAE,KAAK,CAAC,kBAAkB,GAAG,uBAAuB,GAAG,wBAAwB,CAAC,GACzF,kBAAkB,EAAE,CAStB;AAED,eAAO,MAAM,eAAe,EAAE,uBAAuB,EA6LpD,CAAC;AAEF,wBAAgB,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,GAAG,IAAI,GAAG,OAAO,CAMpG;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,SAAS,GAAG,eAAe,EAAE,CAiN/E;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC/B,UAAU,EAAE,eAAe,EAC3B,SAAS,EAAE,eAAe,GAAG,0BAA0B,EACvD,cAAc,CAAC,EAAE,eAAe,WA+DhC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CACnC,UAAU,EAAE,eAAe,EAC3B,SAAS,EAAE,eAAe,GAAG,0BAA0B,EACvD,IAAI,EAAE,MAAM,WAcZ;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,KAAK,GAAG,cAAc,CAwB1G;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,mBAAmB,EAAE,eAAe,EAAE,GAAG,sBAAsB,CAyBtG;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACtC,mBAAmB,EAAE,eAAe,EAAE,EACtC,qBAAqB,EAAE,sBAAsB,GAC3C,MAAM,EAAE,CAwDV;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAChC,mBAAmB,EAAE,eAAe,EAAE,EACtC,UAAU,EAAE,eAAe,EAC3B,cAAc,EAAE,OAAO,EACvB,mBAAmB,EAAE,OAAO,EAC5B,eAAe,UAAQ,EACvB,cAAc,UAAQ,EACtB,cAAc,CAAC,EAAE,eAAe,EAChC,UAAU,CAAC,EAAE,MAAM,EACnB,qBAAqB,CAAC,EAAE,sBAAsB,GAC5C,eAAe,GAAG,IAAI,CA6OxB;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACtC,UAAU,EAAE,kBAAkB,EAAE,EAChC,WAAW,SAAI,GACb,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAWjC;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC9B,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,KAAK,EACX,cAAc,EAAE,8BAA8B,EAC9C,qBAAqB,UAAQ,GAC3B,YAAY,EAAE,CAuFhB;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,GAAG,YAAY,EAAE,CAkEpF;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CACjC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,KAAK,EACX,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,OAAO,EACpB,cAAc,CAAC,EAAE,OAAO,GACtB,MAAM,CAcR;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAChC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,KAAK,EACX,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,OAAO,GAClB,MAAM,CASR;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,mBAAmB,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,KAAK,GAAG,WAAW,GAAG,IAAI,CAmB/G;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,CA8B9E;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CACnC,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,eAAe,EAC/B,KAAK,EAAE,kBAAkB,QAkBzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,mFAEvG;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CACjC,cAAc,EAAE,eAAe,EAC/B,UAAU,EAAE,eAAe,EAC3B,IAAI,EAAE,MAAM,GACV,WAAW,CAyGb;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,QAoC/E;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,eAAe,EAAE,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,IAAI,CAa7G;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAKxG;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,kBAAkB,GAAG,SAAS,GAAG,SAAS,EAAE,CAQ3F;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,GAAG,SAAS,GAAG,OAAO,CAEnF;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAChC,cAAc,EAAE,eAAe,EAC/B,aAAa,EAAE,MAAM,EACrB,KAAK,SAAI,GACP,kBAAkB,GAAG,SAAS,CAYhC"}