@abyss-project/console 1.0.41 → 1.0.43
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/dist/constants/abyss-services.d.ts +0 -0
- package/dist/constants/abyss-services.js +1 -0
- package/dist/index.d.ts +0 -2
- package/dist/index.js +1 -3
- package/dist/types/constants/workflow.constants.d.ts +4 -0
- package/dist/types/constants/workflow.constants.js +5 -1
- package/dist/types/dto/workflow.dto.d.ts +5 -1
- package/dist/types/enum/workflow.enum.d.ts +2 -1
- package/dist/types/enum/workflow.enum.js +1 -0
- package/dist/types/interface/models/workflow-webhook.model.d.ts +1 -0
- package/dist/utils/index.d.ts +1 -2
- package/dist/utils/index.js +1 -2
- package/dist/utils/webhook-trigger.utils.d.ts +0 -7
- package/dist/utils/webhook-trigger.utils.js +0 -334
- package/dist/workflow-expressions/index.d.ts +5 -17
- package/dist/workflow-expressions/index.js +9 -58
- package/dist/workflow-expressions/resolver.d.ts +2 -6
- package/dist/workflow-expressions/resolver.js +46 -229
- package/dist/workflow-expressions/types.d.ts +25 -142
- package/dist/workflow-expressions/types.js +3 -21
- package/package.json +1 -1
- package/dist/expressions/functions/array.d.ts +0 -2
- package/dist/expressions/functions/array.js +0 -252
- package/dist/expressions/functions/crypto.d.ts +0 -2
- package/dist/expressions/functions/crypto.js +0 -101
- package/dist/expressions/functions/datetime.d.ts +0 -2
- package/dist/expressions/functions/datetime.js +0 -256
- package/dist/expressions/functions/index.d.ts +0 -7
- package/dist/expressions/functions/index.js +0 -46
- package/dist/expressions/functions/math.d.ts +0 -2
- package/dist/expressions/functions/math.js +0 -174
- package/dist/expressions/functions/string.d.ts +0 -2
- package/dist/expressions/functions/string.js +0 -301
- package/dist/expressions/functions/utility.d.ts +0 -2
- package/dist/expressions/functions/utility.js +0 -230
- package/dist/expressions/helpers.d.ts +0 -26
- package/dist/expressions/helpers.js +0 -132
- package/dist/expressions/index.d.ts +0 -5
- package/dist/expressions/index.js +0 -16
- package/dist/expressions/mapper.d.ts +0 -9
- package/dist/expressions/mapper.js +0 -88
- package/dist/expressions/parser.d.ts +0 -3
- package/dist/expressions/parser.js +0 -97
- package/dist/expressions/pipes/array-pipes.d.ts +0 -2
- package/dist/expressions/pipes/array-pipes.js +0 -248
- package/dist/expressions/pipes/index.d.ts +0 -8
- package/dist/expressions/pipes/index.js +0 -40
- package/dist/expressions/pipes/object-pipes.d.ts +0 -2
- package/dist/expressions/pipes/object-pipes.js +0 -243
- package/dist/expressions/pipes/string-pipes.d.ts +0 -9
- package/dist/expressions/pipes/string-pipes.js +0 -178
- package/dist/expressions/resolver.d.ts +0 -12
- package/dist/expressions/resolver.js +0 -88
- package/dist/expressions/types.d.ts +0 -36
- package/dist/expressions/types.js +0 -2
- package/dist/workflow-expressions/functions/array.d.ts +0 -2
- package/dist/workflow-expressions/functions/array.js +0 -252
- package/dist/workflow-expressions/functions/crypto.d.ts +0 -2
- package/dist/workflow-expressions/functions/crypto.js +0 -101
- package/dist/workflow-expressions/functions/datetime.d.ts +0 -2
- package/dist/workflow-expressions/functions/datetime.js +0 -256
- package/dist/workflow-expressions/functions/index.d.ts +0 -7
- package/dist/workflow-expressions/functions/index.js +0 -46
- package/dist/workflow-expressions/functions/math.d.ts +0 -2
- package/dist/workflow-expressions/functions/math.js +0 -174
- package/dist/workflow-expressions/functions/string.d.ts +0 -2
- package/dist/workflow-expressions/functions/string.js +0 -301
- package/dist/workflow-expressions/functions/utility.d.ts +0 -2
- package/dist/workflow-expressions/functions/utility.js +0 -230
- package/dist/workflow-expressions/helpers.d.ts +0 -71
- package/dist/workflow-expressions/helpers.js +0 -262
- package/dist/workflow-expressions/parser.d.ts +0 -8
- package/dist/workflow-expressions/parser.js +0 -456
- package/dist/workflow-expressions/pipes/array-pipes.d.ts +0 -2
- package/dist/workflow-expressions/pipes/array-pipes.js +0 -248
- package/dist/workflow-expressions/pipes/index.d.ts +0 -8
- package/dist/workflow-expressions/pipes/index.js +0 -40
- package/dist/workflow-expressions/pipes/object-pipes.d.ts +0 -2
- package/dist/workflow-expressions/pipes/object-pipes.js +0 -243
- package/dist/workflow-expressions/pipes/string-pipes.d.ts +0 -9
- package/dist/workflow-expressions/pipes/string-pipes.js +0 -178
|
@@ -1,301 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.stringFunctions = void 0;
|
|
4
|
-
exports.stringFunctions = {
|
|
5
|
-
toUpperCase: {
|
|
6
|
-
name: 'toUpperCase',
|
|
7
|
-
description: 'Converts a string to uppercase',
|
|
8
|
-
category: 'string',
|
|
9
|
-
signature: 'toUpperCase(str)',
|
|
10
|
-
args: [
|
|
11
|
-
{
|
|
12
|
-
name: 'str',
|
|
13
|
-
type: 'string',
|
|
14
|
-
required: true,
|
|
15
|
-
description: 'Input string',
|
|
16
|
-
},
|
|
17
|
-
],
|
|
18
|
-
returnType: 'string',
|
|
19
|
-
examples: ['{{fn.toUpperCase(trigger.body.username)}}'],
|
|
20
|
-
execute: (str) => String(str).toUpperCase(),
|
|
21
|
-
},
|
|
22
|
-
toLowerCase: {
|
|
23
|
-
name: 'toLowerCase',
|
|
24
|
-
description: 'Converts a string to lowercase',
|
|
25
|
-
category: 'string',
|
|
26
|
-
signature: 'toLowerCase(str)',
|
|
27
|
-
args: [
|
|
28
|
-
{
|
|
29
|
-
name: 'str',
|
|
30
|
-
type: 'string',
|
|
31
|
-
required: true,
|
|
32
|
-
description: 'Input string',
|
|
33
|
-
},
|
|
34
|
-
],
|
|
35
|
-
returnType: 'string',
|
|
36
|
-
examples: ['{{fn.toLowerCase(trigger.email)}}'],
|
|
37
|
-
execute: (str) => String(str).toLowerCase(),
|
|
38
|
-
},
|
|
39
|
-
trim: {
|
|
40
|
-
name: 'trim',
|
|
41
|
-
description: 'Removes whitespace from both ends of a string',
|
|
42
|
-
category: 'string',
|
|
43
|
-
signature: 'trim(str)',
|
|
44
|
-
args: [
|
|
45
|
-
{
|
|
46
|
-
name: 'str',
|
|
47
|
-
type: 'string',
|
|
48
|
-
required: true,
|
|
49
|
-
description: 'Input string',
|
|
50
|
-
},
|
|
51
|
-
],
|
|
52
|
-
returnType: 'string',
|
|
53
|
-
examples: ['{{fn.trim(trigger.input)}}'],
|
|
54
|
-
execute: (str) => String(str).trim(),
|
|
55
|
-
},
|
|
56
|
-
substring: {
|
|
57
|
-
name: 'substring',
|
|
58
|
-
description: 'Extracts a portion of a string',
|
|
59
|
-
category: 'string',
|
|
60
|
-
signature: 'substring(str, start, end?)',
|
|
61
|
-
args: [
|
|
62
|
-
{
|
|
63
|
-
name: 'str',
|
|
64
|
-
type: 'string',
|
|
65
|
-
required: true,
|
|
66
|
-
description: 'Input string',
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
name: 'start',
|
|
70
|
-
type: 'number',
|
|
71
|
-
required: true,
|
|
72
|
-
description: 'Start index',
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
name: 'end',
|
|
76
|
-
type: 'number',
|
|
77
|
-
required: false,
|
|
78
|
-
description: 'End index',
|
|
79
|
-
},
|
|
80
|
-
],
|
|
81
|
-
returnType: 'string',
|
|
82
|
-
examples: ['{{fn.substring(trigger.id, 0, 8)}}'],
|
|
83
|
-
execute: (str, start, end) => {
|
|
84
|
-
return String(str).substring(Number(start), end !== undefined ? Number(end) : undefined);
|
|
85
|
-
},
|
|
86
|
-
},
|
|
87
|
-
replace: {
|
|
88
|
-
name: 'replace',
|
|
89
|
-
description: 'Replaces occurrences of a pattern in a string',
|
|
90
|
-
category: 'string',
|
|
91
|
-
signature: 'replace(str, search, replacement)',
|
|
92
|
-
args: [
|
|
93
|
-
{
|
|
94
|
-
name: 'str',
|
|
95
|
-
type: 'string',
|
|
96
|
-
required: true,
|
|
97
|
-
description: 'Input string',
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
name: 'search',
|
|
101
|
-
type: 'string',
|
|
102
|
-
required: true,
|
|
103
|
-
description: 'Pattern to search',
|
|
104
|
-
},
|
|
105
|
-
{
|
|
106
|
-
name: 'replacement',
|
|
107
|
-
type: 'string',
|
|
108
|
-
required: true,
|
|
109
|
-
description: 'Replacement string',
|
|
110
|
-
},
|
|
111
|
-
],
|
|
112
|
-
returnType: 'string',
|
|
113
|
-
examples: ['{{fn.replace(trigger.text, "old", "new")}}'],
|
|
114
|
-
execute: (str, search, replacement) => {
|
|
115
|
-
const searchStr = String(search);
|
|
116
|
-
const replaceStr = String(replacement);
|
|
117
|
-
return String(str).replace(new RegExp(searchStr.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'), 'g'), replaceStr);
|
|
118
|
-
},
|
|
119
|
-
},
|
|
120
|
-
split: {
|
|
121
|
-
name: 'split',
|
|
122
|
-
description: 'Splits a string into an array',
|
|
123
|
-
category: 'string',
|
|
124
|
-
signature: 'split(str, separator)',
|
|
125
|
-
args: [
|
|
126
|
-
{
|
|
127
|
-
name: 'str',
|
|
128
|
-
type: 'string',
|
|
129
|
-
required: true,
|
|
130
|
-
description: 'Input string',
|
|
131
|
-
},
|
|
132
|
-
{
|
|
133
|
-
name: 'separator',
|
|
134
|
-
type: 'string',
|
|
135
|
-
required: true,
|
|
136
|
-
description: 'Separator',
|
|
137
|
-
},
|
|
138
|
-
],
|
|
139
|
-
returnType: 'array',
|
|
140
|
-
examples: ['{{fn.split(trigger.tags, ",")}}'],
|
|
141
|
-
execute: (str, separator) => {
|
|
142
|
-
return String(str).split(String(separator));
|
|
143
|
-
},
|
|
144
|
-
},
|
|
145
|
-
concat: {
|
|
146
|
-
name: 'concat',
|
|
147
|
-
description: 'Concatenates multiple strings',
|
|
148
|
-
category: 'string',
|
|
149
|
-
signature: 'concat(...strs)',
|
|
150
|
-
args: [
|
|
151
|
-
{
|
|
152
|
-
name: 'strings',
|
|
153
|
-
type: 'string',
|
|
154
|
-
required: true,
|
|
155
|
-
description: 'Strings to concatenate',
|
|
156
|
-
},
|
|
157
|
-
],
|
|
158
|
-
returnType: 'string',
|
|
159
|
-
examples: ['{{fn.concat("Hello", " ", "World")}}'],
|
|
160
|
-
execute: (...args) => {
|
|
161
|
-
return args.map((arg) => String(arg)).join('');
|
|
162
|
-
},
|
|
163
|
-
},
|
|
164
|
-
startsWith: {
|
|
165
|
-
name: 'startsWith',
|
|
166
|
-
description: 'Checks if a string starts with a specified value',
|
|
167
|
-
category: 'string',
|
|
168
|
-
signature: 'startsWith(str, search)',
|
|
169
|
-
args: [
|
|
170
|
-
{
|
|
171
|
-
name: 'str',
|
|
172
|
-
type: 'string',
|
|
173
|
-
required: true,
|
|
174
|
-
description: 'Input string',
|
|
175
|
-
},
|
|
176
|
-
{
|
|
177
|
-
name: 'search',
|
|
178
|
-
type: 'string',
|
|
179
|
-
required: true,
|
|
180
|
-
description: 'Search value',
|
|
181
|
-
},
|
|
182
|
-
],
|
|
183
|
-
returnType: 'boolean',
|
|
184
|
-
examples: ['{{fn.startsWith(trigger.url, "https://")}}'],
|
|
185
|
-
execute: (str, search) => {
|
|
186
|
-
return String(str).startsWith(String(search));
|
|
187
|
-
},
|
|
188
|
-
},
|
|
189
|
-
endsWith: {
|
|
190
|
-
name: 'endsWith',
|
|
191
|
-
description: 'Checks if a string ends with a specified value',
|
|
192
|
-
category: 'string',
|
|
193
|
-
signature: 'endsWith(str, search)',
|
|
194
|
-
args: [
|
|
195
|
-
{
|
|
196
|
-
name: 'str',
|
|
197
|
-
type: 'string',
|
|
198
|
-
required: true,
|
|
199
|
-
description: 'Input string',
|
|
200
|
-
},
|
|
201
|
-
{
|
|
202
|
-
name: 'search',
|
|
203
|
-
type: 'string',
|
|
204
|
-
required: true,
|
|
205
|
-
description: 'Search value',
|
|
206
|
-
},
|
|
207
|
-
],
|
|
208
|
-
returnType: 'boolean',
|
|
209
|
-
examples: ['{{fn.endsWith(trigger.filename, ".pdf")}}'],
|
|
210
|
-
execute: (str, search) => {
|
|
211
|
-
return String(str).endsWith(String(search));
|
|
212
|
-
},
|
|
213
|
-
},
|
|
214
|
-
includes: {
|
|
215
|
-
name: 'includes',
|
|
216
|
-
description: 'Checks if a string contains a specified value',
|
|
217
|
-
category: 'string',
|
|
218
|
-
signature: 'includes(str, search)',
|
|
219
|
-
args: [
|
|
220
|
-
{
|
|
221
|
-
name: 'str',
|
|
222
|
-
type: 'string',
|
|
223
|
-
required: true,
|
|
224
|
-
description: 'Input string',
|
|
225
|
-
},
|
|
226
|
-
{
|
|
227
|
-
name: 'search',
|
|
228
|
-
type: 'string',
|
|
229
|
-
required: true,
|
|
230
|
-
description: 'Search value',
|
|
231
|
-
},
|
|
232
|
-
],
|
|
233
|
-
returnType: 'boolean',
|
|
234
|
-
examples: ['{{fn.includes(trigger.text, "error")}}'],
|
|
235
|
-
execute: (str, search) => {
|
|
236
|
-
return String(str).includes(String(search));
|
|
237
|
-
},
|
|
238
|
-
},
|
|
239
|
-
padStart: {
|
|
240
|
-
name: 'padStart',
|
|
241
|
-
description: 'Pads a string from the start to a specified length',
|
|
242
|
-
category: 'string',
|
|
243
|
-
signature: 'padStart(str, length, padString?)',
|
|
244
|
-
args: [
|
|
245
|
-
{
|
|
246
|
-
name: 'str',
|
|
247
|
-
type: 'string',
|
|
248
|
-
required: true,
|
|
249
|
-
description: 'Input string',
|
|
250
|
-
},
|
|
251
|
-
{
|
|
252
|
-
name: 'length',
|
|
253
|
-
type: 'number',
|
|
254
|
-
required: true,
|
|
255
|
-
description: 'Target length',
|
|
256
|
-
},
|
|
257
|
-
{
|
|
258
|
-
name: 'padString',
|
|
259
|
-
type: 'string',
|
|
260
|
-
required: false,
|
|
261
|
-
description: 'Padding string (default: space)',
|
|
262
|
-
},
|
|
263
|
-
],
|
|
264
|
-
returnType: 'string',
|
|
265
|
-
examples: ['{{fn.padStart(trigger.id, 10, "0")}}'],
|
|
266
|
-
execute: (str, length, padString) => {
|
|
267
|
-
return String(str).padStart(Number(length), padString !== undefined ? String(padString) : ' ');
|
|
268
|
-
},
|
|
269
|
-
},
|
|
270
|
-
padEnd: {
|
|
271
|
-
name: 'padEnd',
|
|
272
|
-
description: 'Pads a string from the end to a specified length',
|
|
273
|
-
category: 'string',
|
|
274
|
-
signature: 'padEnd(str, length, padString?)',
|
|
275
|
-
args: [
|
|
276
|
-
{
|
|
277
|
-
name: 'str',
|
|
278
|
-
type: 'string',
|
|
279
|
-
required: true,
|
|
280
|
-
description: 'Input string',
|
|
281
|
-
},
|
|
282
|
-
{
|
|
283
|
-
name: 'length',
|
|
284
|
-
type: 'number',
|
|
285
|
-
required: true,
|
|
286
|
-
description: 'Target length',
|
|
287
|
-
},
|
|
288
|
-
{
|
|
289
|
-
name: 'padString',
|
|
290
|
-
type: 'string',
|
|
291
|
-
required: false,
|
|
292
|
-
description: 'Padding string (default: space)',
|
|
293
|
-
},
|
|
294
|
-
],
|
|
295
|
-
returnType: 'string',
|
|
296
|
-
examples: ['{{fn.padEnd(trigger.code, 5, "X")}}'],
|
|
297
|
-
execute: (str, length, padString) => {
|
|
298
|
-
return String(str).padEnd(Number(length), padString !== undefined ? String(padString) : ' ');
|
|
299
|
-
},
|
|
300
|
-
},
|
|
301
|
-
};
|
|
@@ -1,230 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.utilityFunctions = void 0;
|
|
4
|
-
const uuid_1 = require("uuid");
|
|
5
|
-
exports.utilityFunctions = {
|
|
6
|
-
uuid: {
|
|
7
|
-
name: 'uuid',
|
|
8
|
-
description: 'Generates a random UUID v4',
|
|
9
|
-
category: 'utility',
|
|
10
|
-
signature: 'uuid()',
|
|
11
|
-
args: [],
|
|
12
|
-
returnType: 'string',
|
|
13
|
-
examples: ['{{fn.uuid()}}', '{{uuid()}}'],
|
|
14
|
-
execute: () => (0, uuid_1.v4)(),
|
|
15
|
-
},
|
|
16
|
-
coalesce: {
|
|
17
|
-
name: 'coalesce',
|
|
18
|
-
description: 'Returns the first non-null/undefined value',
|
|
19
|
-
category: 'utility',
|
|
20
|
-
signature: 'coalesce(value1, value2, ...)',
|
|
21
|
-
args: [
|
|
22
|
-
{
|
|
23
|
-
name: 'values',
|
|
24
|
-
type: 'any',
|
|
25
|
-
required: true,
|
|
26
|
-
description: 'Values to check',
|
|
27
|
-
},
|
|
28
|
-
],
|
|
29
|
-
returnType: 'any',
|
|
30
|
-
examples: ['{{fn.coalesce(trigger.body.username, "Anonymous")}}'],
|
|
31
|
-
execute: (...args) => {
|
|
32
|
-
for (const arg of args) {
|
|
33
|
-
if (arg !== null && arg !== undefined) {
|
|
34
|
-
return arg;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
return null;
|
|
38
|
-
},
|
|
39
|
-
},
|
|
40
|
-
typeOf: {
|
|
41
|
-
name: 'typeOf',
|
|
42
|
-
description: 'Returns the type of a value',
|
|
43
|
-
category: 'utility',
|
|
44
|
-
signature: 'typeOf(value)',
|
|
45
|
-
args: [
|
|
46
|
-
{
|
|
47
|
-
name: 'value',
|
|
48
|
-
type: 'any',
|
|
49
|
-
required: true,
|
|
50
|
-
description: 'Value to check',
|
|
51
|
-
},
|
|
52
|
-
],
|
|
53
|
-
returnType: 'string',
|
|
54
|
-
examples: ['{{fn.typeOf(trigger.data)}}'],
|
|
55
|
-
execute: (value) => {
|
|
56
|
-
if (value === null)
|
|
57
|
-
return 'null';
|
|
58
|
-
if (Array.isArray(value))
|
|
59
|
-
return 'array';
|
|
60
|
-
return typeof value;
|
|
61
|
-
},
|
|
62
|
-
},
|
|
63
|
-
isNull: {
|
|
64
|
-
name: 'isNull',
|
|
65
|
-
description: 'Checks if a value is null or undefined',
|
|
66
|
-
category: 'utility',
|
|
67
|
-
signature: 'isNull(value)',
|
|
68
|
-
args: [
|
|
69
|
-
{
|
|
70
|
-
name: 'value',
|
|
71
|
-
type: 'any',
|
|
72
|
-
required: true,
|
|
73
|
-
description: 'Value to check',
|
|
74
|
-
},
|
|
75
|
-
],
|
|
76
|
-
returnType: 'boolean',
|
|
77
|
-
examples: ['{{fn.isNull(trigger.optional)}}'],
|
|
78
|
-
execute: (value) => value === null || value === undefined,
|
|
79
|
-
},
|
|
80
|
-
isEmpty: {
|
|
81
|
-
name: 'isEmpty',
|
|
82
|
-
description: 'Checks if a value is empty (null, undefined, empty string, empty array, or empty object)',
|
|
83
|
-
category: 'utility',
|
|
84
|
-
signature: 'isEmpty(value)',
|
|
85
|
-
args: [
|
|
86
|
-
{
|
|
87
|
-
name: 'value',
|
|
88
|
-
type: 'any',
|
|
89
|
-
required: true,
|
|
90
|
-
description: 'Value to check',
|
|
91
|
-
},
|
|
92
|
-
],
|
|
93
|
-
returnType: 'boolean',
|
|
94
|
-
examples: ['{{fn.isEmpty(trigger.description)}}'],
|
|
95
|
-
execute: (value) => {
|
|
96
|
-
if (value === null || value === undefined)
|
|
97
|
-
return true;
|
|
98
|
-
if (typeof value === 'string')
|
|
99
|
-
return value.length === 0;
|
|
100
|
-
if (Array.isArray(value))
|
|
101
|
-
return value.length === 0;
|
|
102
|
-
if (typeof value === 'object')
|
|
103
|
-
return Object.keys(value).length === 0;
|
|
104
|
-
return false;
|
|
105
|
-
},
|
|
106
|
-
},
|
|
107
|
-
default: {
|
|
108
|
-
name: 'default',
|
|
109
|
-
description: 'Returns a default value if the input is null, undefined, or empty',
|
|
110
|
-
category: 'utility',
|
|
111
|
-
signature: 'default(value, defaultValue)',
|
|
112
|
-
args: [
|
|
113
|
-
{
|
|
114
|
-
name: 'value',
|
|
115
|
-
type: 'any',
|
|
116
|
-
required: true,
|
|
117
|
-
description: 'Input value',
|
|
118
|
-
},
|
|
119
|
-
{
|
|
120
|
-
name: 'defaultValue',
|
|
121
|
-
type: 'any',
|
|
122
|
-
required: true,
|
|
123
|
-
description: 'Default value',
|
|
124
|
-
},
|
|
125
|
-
],
|
|
126
|
-
returnType: 'any',
|
|
127
|
-
examples: ['{{fn.default(trigger.body.username, "Unknown")}}'],
|
|
128
|
-
execute: (value, defaultValue) => {
|
|
129
|
-
if (value === null || value === undefined)
|
|
130
|
-
return defaultValue;
|
|
131
|
-
if (typeof value === 'string' && value.length === 0)
|
|
132
|
-
return defaultValue;
|
|
133
|
-
if (Array.isArray(value) && value.length === 0)
|
|
134
|
-
return defaultValue;
|
|
135
|
-
return value;
|
|
136
|
-
},
|
|
137
|
-
},
|
|
138
|
-
toNumber: {
|
|
139
|
-
name: 'toNumber',
|
|
140
|
-
description: 'Converts a value to a number',
|
|
141
|
-
category: 'utility',
|
|
142
|
-
signature: 'toNumber(value)',
|
|
143
|
-
args: [
|
|
144
|
-
{
|
|
145
|
-
name: 'value',
|
|
146
|
-
type: 'any',
|
|
147
|
-
required: true,
|
|
148
|
-
description: 'Value to convert',
|
|
149
|
-
},
|
|
150
|
-
],
|
|
151
|
-
returnType: 'number',
|
|
152
|
-
examples: ['{{fn.toNumber(trigger.stringNum)}}'],
|
|
153
|
-
execute: (value) => Number(value),
|
|
154
|
-
},
|
|
155
|
-
toString: {
|
|
156
|
-
name: 'toString',
|
|
157
|
-
description: 'Converts a value to a string',
|
|
158
|
-
category: 'utility',
|
|
159
|
-
signature: 'toString(value)',
|
|
160
|
-
args: [
|
|
161
|
-
{
|
|
162
|
-
name: 'value',
|
|
163
|
-
type: 'any',
|
|
164
|
-
required: true,
|
|
165
|
-
description: 'Value to convert',
|
|
166
|
-
},
|
|
167
|
-
],
|
|
168
|
-
returnType: 'string',
|
|
169
|
-
examples: ['{{fn.toString(trigger.number)}}'],
|
|
170
|
-
execute: (value) => String(value),
|
|
171
|
-
},
|
|
172
|
-
toBoolean: {
|
|
173
|
-
name: 'toBoolean',
|
|
174
|
-
description: 'Converts a value to a boolean',
|
|
175
|
-
category: 'utility',
|
|
176
|
-
signature: 'toBoolean(value)',
|
|
177
|
-
args: [
|
|
178
|
-
{
|
|
179
|
-
name: 'value',
|
|
180
|
-
type: 'any',
|
|
181
|
-
required: true,
|
|
182
|
-
description: 'Value to convert',
|
|
183
|
-
},
|
|
184
|
-
],
|
|
185
|
-
returnType: 'boolean',
|
|
186
|
-
examples: ['{{fn.toBoolean(trigger.flag)}}'],
|
|
187
|
-
execute: (value) => Boolean(value),
|
|
188
|
-
},
|
|
189
|
-
parseJSON: {
|
|
190
|
-
name: 'parseJSON',
|
|
191
|
-
description: 'Parses a JSON string',
|
|
192
|
-
category: 'utility',
|
|
193
|
-
signature: 'parseJSON(str)',
|
|
194
|
-
args: [
|
|
195
|
-
{
|
|
196
|
-
name: 'str',
|
|
197
|
-
type: 'string',
|
|
198
|
-
required: true,
|
|
199
|
-
description: 'JSON string',
|
|
200
|
-
},
|
|
201
|
-
],
|
|
202
|
-
returnType: 'any',
|
|
203
|
-
examples: ['{{fn.parseJSON(trigger.jsonData)}}'],
|
|
204
|
-
execute: (str) => {
|
|
205
|
-
try {
|
|
206
|
-
return JSON.parse(String(str));
|
|
207
|
-
}
|
|
208
|
-
catch {
|
|
209
|
-
return null;
|
|
210
|
-
}
|
|
211
|
-
},
|
|
212
|
-
},
|
|
213
|
-
toJSON: {
|
|
214
|
-
name: 'toJSON',
|
|
215
|
-
description: 'Converts a value to a JSON string',
|
|
216
|
-
category: 'utility',
|
|
217
|
-
signature: 'toJSON(value)',
|
|
218
|
-
args: [
|
|
219
|
-
{
|
|
220
|
-
name: 'value',
|
|
221
|
-
type: 'any',
|
|
222
|
-
required: true,
|
|
223
|
-
description: 'Value to convert',
|
|
224
|
-
},
|
|
225
|
-
],
|
|
226
|
-
returnType: 'string',
|
|
227
|
-
examples: ['{{fn.toJSON(trigger.data)}}'],
|
|
228
|
-
execute: (value) => JSON.stringify(value),
|
|
229
|
-
},
|
|
230
|
-
};
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { DataSourceType, ParsedExpression } from './types';
|
|
2
|
-
export interface ResourceMapping {
|
|
3
|
-
type: DataSourceType;
|
|
4
|
-
id: string;
|
|
5
|
-
name: string;
|
|
6
|
-
displayPath: string;
|
|
7
|
-
savePath: string;
|
|
8
|
-
}
|
|
9
|
-
export interface EnrichedToken {
|
|
10
|
-
type: 'text' | 'expression' | 'error';
|
|
11
|
-
value: string;
|
|
12
|
-
rawValue: string;
|
|
13
|
-
start: number;
|
|
14
|
-
end: number;
|
|
15
|
-
parsed?: ParsedExpression;
|
|
16
|
-
source?: DataSourceType | null;
|
|
17
|
-
isSecret?: boolean;
|
|
18
|
-
}
|
|
19
|
-
export declare function buildExpressionString(path: string, operations?: Array<{
|
|
20
|
-
name: string;
|
|
21
|
-
args: unknown[];
|
|
22
|
-
}>): string;
|
|
23
|
-
export declare function buildReferenceString(type: string, id: string): string;
|
|
24
|
-
export declare function hasExpressions(str: string): boolean;
|
|
25
|
-
export declare function hasReferences(str: string): boolean;
|
|
26
|
-
export declare function isInsideExpression(text: string, cursorPos: number): boolean;
|
|
27
|
-
export declare function extractPaths(str: string): string[];
|
|
28
|
-
export declare function parseOperations(opsStr: string): Array<{
|
|
29
|
-
name: string;
|
|
30
|
-
args: unknown[];
|
|
31
|
-
}>;
|
|
32
|
-
export declare function getCurrentExpressionContext(text: string, cursorPos: number): {
|
|
33
|
-
isInExpression: boolean;
|
|
34
|
-
expressionStart: number;
|
|
35
|
-
expressionContent: string;
|
|
36
|
-
cursorOffsetInExpression: number;
|
|
37
|
-
currentPath: string;
|
|
38
|
-
expression: string;
|
|
39
|
-
start: number;
|
|
40
|
-
end: number;
|
|
41
|
-
path: string;
|
|
42
|
-
} | null;
|
|
43
|
-
export declare function tokenizeEnriched(template: string): EnrichedToken[];
|
|
44
|
-
export declare function validateExpression(expression: string, context: Record<string, unknown>): {
|
|
45
|
-
isValid: boolean;
|
|
46
|
-
errors: Array<{
|
|
47
|
-
type: 'error';
|
|
48
|
-
message: string;
|
|
49
|
-
start: number;
|
|
50
|
-
end: number;
|
|
51
|
-
path?: string;
|
|
52
|
-
}>;
|
|
53
|
-
warnings: Array<{
|
|
54
|
-
type: 'warning';
|
|
55
|
-
message: string;
|
|
56
|
-
start: number;
|
|
57
|
-
end: number;
|
|
58
|
-
path?: string;
|
|
59
|
-
suggestion?: string;
|
|
60
|
-
}>;
|
|
61
|
-
tokens: EnrichedToken[];
|
|
62
|
-
};
|
|
63
|
-
export declare function generatePreview(expression: string, context: Record<string, unknown>): {
|
|
64
|
-
value: unknown;
|
|
65
|
-
type: string;
|
|
66
|
-
error?: string;
|
|
67
|
-
};
|
|
68
|
-
export declare function convertExpressionToSaveFormat(expression: string, mappings: ResourceMapping[]): string;
|
|
69
|
-
export declare function convertExpressionToDisplayFormat(expression: string, mappings: ResourceMapping[]): string;
|
|
70
|
-
export declare function getValueType(value: unknown): string;
|
|
71
|
-
export {};
|