@nocobase/plugin-flow-engine 2.1.0-alpha.15 → 2.1.0-alpha.17
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/externalVersion.js +10 -10
- package/dist/node_modules/ses/package.json +1 -1
- package/dist/node_modules/zod/package.json +1 -1
- package/dist/server/flow-surfaces/{compiler.d.ts → apply/compiler.d.ts} +1 -10
- package/dist/server/flow-surfaces/{compiler.js → apply/compiler.js} +41 -280
- package/dist/server/flow-surfaces/apply/layout.d.ts +34 -0
- package/dist/server/flow-surfaces/apply/layout.js +175 -0
- package/dist/server/flow-surfaces/apply/matching.d.ts +16 -0
- package/dist/server/flow-surfaces/apply/matching.js +181 -0
- package/dist/server/flow-surfaces/association-title-field.d.ts +20 -0
- package/dist/server/flow-surfaces/association-title-field.js +158 -0
- package/dist/server/flow-surfaces/blueprint/compile-blocks.d.ts +14 -0
- package/dist/server/flow-surfaces/blueprint/compile-blocks.js +717 -0
- package/dist/server/flow-surfaces/blueprint/compile-plan.d.ts +13 -0
- package/dist/server/flow-surfaces/blueprint/compile-plan.js +308 -0
- package/dist/server/flow-surfaces/blueprint/compile-reaction.d.ts +11 -0
- package/dist/server/flow-surfaces/blueprint/compile-reaction.js +72 -0
- package/dist/server/flow-surfaces/blueprint/index.d.ts +12 -0
- package/dist/server/flow-surfaces/blueprint/index.js +44 -0
- package/dist/server/flow-surfaces/blueprint/normalize-document.d.ts +10 -0
- package/dist/server/flow-surfaces/blueprint/normalize-document.js +296 -0
- package/dist/server/flow-surfaces/blueprint/private-utils.d.ts +26 -0
- package/dist/server/flow-surfaces/blueprint/private-utils.js +182 -0
- package/dist/server/flow-surfaces/blueprint/public-types.d.ts +153 -0
- package/dist/server/flow-surfaces/blueprint/public-types.js +24 -0
- package/dist/server/flow-surfaces/catalog-smart.d.ts +18 -0
- package/dist/server/flow-surfaces/catalog-smart.js +239 -0
- package/dist/server/flow-surfaces/catalog-smart.projector.d.ts +15 -0
- package/dist/server/flow-surfaces/catalog-smart.projector.js +157 -0
- package/dist/server/flow-surfaces/catalog-smart.types.d.ts +99 -0
- package/dist/server/flow-surfaces/catalog-smart.types.js +24 -0
- package/dist/server/flow-surfaces/catalog.d.ts +3 -0
- package/dist/server/flow-surfaces/catalog.js +163 -34
- package/dist/server/flow-surfaces/compose-compiler.d.ts +104 -0
- package/dist/server/flow-surfaces/compose-compiler.js +162 -0
- package/dist/server/flow-surfaces/compose-runtime.d.ts +89 -0
- package/dist/server/flow-surfaces/compose-runtime.js +338 -0
- package/dist/server/flow-surfaces/configure-options.js +12 -3
- package/dist/server/flow-surfaces/constants.d.ts +3 -2
- package/dist/server/flow-surfaces/constants.js +36 -3
- package/dist/server/flow-surfaces/default-action-popup.d.ts +52 -0
- package/dist/server/flow-surfaces/default-action-popup.js +258 -0
- package/dist/server/flow-surfaces/executor.d.ts +10 -0
- package/dist/server/flow-surfaces/executor.js +59 -24
- package/dist/server/flow-surfaces/field-binding-registry.d.ts +23 -0
- package/dist/server/flow-surfaces/field-binding-registry.js +391 -0
- package/dist/server/flow-surfaces/field-semantics.d.ts +1 -1
- package/dist/server/flow-surfaces/index.js +75 -0
- package/dist/server/flow-surfaces/node-use-sets.d.ts +15 -0
- package/dist/server/flow-surfaces/node-use-sets.js +114 -0
- package/dist/server/flow-surfaces/payload-shape.d.ts +9 -0
- package/dist/server/flow-surfaces/payload-shape.js +61 -0
- package/dist/server/flow-surfaces/placement.js +2 -6
- package/dist/server/flow-surfaces/planning/action-specs.d.ts +179 -0
- package/dist/server/flow-surfaces/planning/action-specs.js +190 -0
- package/dist/server/flow-surfaces/planning/compiler.d.ts +37 -0
- package/dist/server/flow-surfaces/planning/compiler.js +376 -0
- package/dist/server/flow-surfaces/planning/context.d.ts +30 -0
- package/dist/server/flow-surfaces/planning/context.js +139 -0
- package/dist/server/flow-surfaces/planning/created-keys.d.ts +34 -0
- package/dist/server/flow-surfaces/planning/created-keys.js +375 -0
- package/dist/server/flow-surfaces/planning/key-kind.d.ts +11 -0
- package/dist/server/flow-surfaces/planning/key-kind.js +86 -0
- package/dist/server/flow-surfaces/planning/key-persistence.d.ts +34 -0
- package/dist/server/flow-surfaces/planning/key-persistence.js +148 -0
- package/dist/server/flow-surfaces/planning/key-registry.d.ts +40 -0
- package/dist/server/flow-surfaces/planning/key-registry.js +206 -0
- package/dist/server/flow-surfaces/planning/runtime.d.ts +37 -0
- package/dist/server/flow-surfaces/planning/runtime.js +259 -0
- package/dist/server/flow-surfaces/planning/step-link.d.ts +14 -0
- package/dist/server/flow-surfaces/planning/step-link.js +104 -0
- package/dist/server/flow-surfaces/planning/types.d.ts +55 -0
- package/dist/server/flow-surfaces/planning/types.js +24 -0
- package/dist/server/flow-surfaces/reaction/errors.d.ts +20 -0
- package/dist/server/flow-surfaces/reaction/errors.js +69 -0
- package/dist/server/flow-surfaces/reaction/field-value.d.ts +34 -0
- package/dist/server/flow-surfaces/reaction/field-value.js +181 -0
- package/dist/server/flow-surfaces/reaction/fingerprint.d.ts +16 -0
- package/dist/server/flow-surfaces/reaction/fingerprint.js +71 -0
- package/dist/server/flow-surfaces/reaction/linkage.d.ts +136 -0
- package/dist/server/flow-surfaces/reaction/linkage.js +882 -0
- package/dist/server/flow-surfaces/reaction/meta.d.ts +11 -0
- package/dist/server/flow-surfaces/reaction/meta.js +451 -0
- package/dist/server/flow-surfaces/reaction/registry.d.ts +136 -0
- package/dist/server/flow-surfaces/reaction/registry.js +186 -0
- package/dist/server/flow-surfaces/reaction/resolver.d.ts +22 -0
- package/dist/server/flow-surfaces/reaction/resolver.js +202 -0
- package/dist/server/flow-surfaces/reaction/types.d.ts +241 -0
- package/dist/server/flow-surfaces/reaction/types.js +24 -0
- package/dist/server/flow-surfaces/reaction/utils.d.ts +17 -0
- package/dist/server/flow-surfaces/reaction/utils.js +67 -0
- package/dist/server/flow-surfaces/reaction/value-expr.d.ts +15 -0
- package/dist/server/flow-surfaces/reaction/value-expr.js +209 -0
- package/dist/server/flow-surfaces/reference-guards.d.ts +19 -0
- package/dist/server/flow-surfaces/reference-guards.js +103 -0
- package/dist/server/flow-surfaces/service-helpers.d.ts +42 -0
- package/dist/server/flow-surfaces/service-helpers.js +377 -0
- package/dist/server/flow-surfaces/service-utils.d.ts +105 -0
- package/dist/server/flow-surfaces/service-utils.js +760 -0
- package/dist/server/flow-surfaces/service.d.ts +199 -104
- package/dist/server/flow-surfaces/service.js +4158 -1890
- package/dist/server/flow-surfaces/template-compatibility.d.ts +42 -0
- package/dist/server/flow-surfaces/template-compatibility.js +189 -0
- package/dist/server/flow-surfaces/template-service-utils.d.ts +62 -0
- package/dist/server/flow-surfaces/template-service-utils.js +281 -0
- package/dist/server/flow-surfaces/types.d.ts +129 -37
- package/dist/swagger/flow-surfaces.d.ts +3777 -1581
- package/dist/swagger/flow-surfaces.examples.d.ts +1246 -0
- package/dist/swagger/flow-surfaces.examples.js +1396 -0
- package/dist/swagger/flow-surfaces.js +2020 -1469
- package/dist/swagger/flow-surfaces.template-action-docs.d.ts +62 -0
- package/dist/swagger/flow-surfaces.template-action-docs.js +121 -0
- package/dist/swagger/flow-surfaces.template-schemas.d.ts +239 -0
- package/dist/swagger/flow-surfaces.template-schemas.js +255 -0
- package/dist/swagger/index.d.ts +3777 -1581
- package/package.json +2 -2
|
@@ -0,0 +1,391 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
var __defProp = Object.defineProperty;
|
|
11
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
12
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
13
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
14
|
+
var __export = (target, all) => {
|
|
15
|
+
for (var name in all)
|
|
16
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
17
|
+
};
|
|
18
|
+
var __copyProps = (to, from, except, desc) => {
|
|
19
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
20
|
+
for (let key of __getOwnPropNames(from))
|
|
21
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
22
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
23
|
+
}
|
|
24
|
+
return to;
|
|
25
|
+
};
|
|
26
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
27
|
+
var field_binding_registry_exports = {};
|
|
28
|
+
__export(field_binding_registry_exports, {
|
|
29
|
+
getRegisteredFieldUses: () => getRegisteredFieldUses,
|
|
30
|
+
resolveRegisteredFieldBinding: () => resolveRegisteredFieldBinding
|
|
31
|
+
});
|
|
32
|
+
module.exports = __toCommonJS(field_binding_registry_exports);
|
|
33
|
+
var import_field_semantics = require("./field-semantics");
|
|
34
|
+
var import_service_helpers = require("./service-helpers");
|
|
35
|
+
const FILE_MANAGER_PLUGIN = "@nocobase/plugin-file-manager";
|
|
36
|
+
const ATTACHMENT_URL_PLUGIN = "@nocobase/plugin-field-attachment-url";
|
|
37
|
+
const CODE_PLUGIN = "@nocobase/plugin-field-code";
|
|
38
|
+
const FORMULA_PLUGIN = "@nocobase/plugin-field-formula";
|
|
39
|
+
const CHINA_REGION_PLUGIN = "@nocobase/plugin-field-china-region";
|
|
40
|
+
const MAP_PLUGIN = "@nocobase/plugin-map";
|
|
41
|
+
const MARKDOWN_VDITOR_PLUGIN = "@nocobase/plugin-field-markdown-vditor";
|
|
42
|
+
const SORT_PLUGIN = "@nocobase/plugin-field-sort";
|
|
43
|
+
function getCollectionTemplate(collection) {
|
|
44
|
+
var _a;
|
|
45
|
+
return (collection == null ? void 0 : collection.template) || ((_a = collection == null ? void 0 : collection.options) == null ? void 0 : _a.template);
|
|
46
|
+
}
|
|
47
|
+
function isAttachmentInterface(field) {
|
|
48
|
+
return String((0, import_service_helpers.getFieldInterface)(field) || "").trim() === "attachment";
|
|
49
|
+
}
|
|
50
|
+
function getFieldDataType(field) {
|
|
51
|
+
var _a;
|
|
52
|
+
return (field == null ? void 0 : field.dataType) || ((_a = field == null ? void 0 : field.options) == null ? void 0 : _a.dataType);
|
|
53
|
+
}
|
|
54
|
+
function isNumericFormulaDataType(dataType) {
|
|
55
|
+
return ["integer", "bigInt", "double", "decimal", "number"].includes(String(dataType || "").trim());
|
|
56
|
+
}
|
|
57
|
+
function resolveTargetCollection(input) {
|
|
58
|
+
var _a;
|
|
59
|
+
if ((_a = input.field) == null ? void 0 : _a.targetCollection) {
|
|
60
|
+
return input.field.targetCollection;
|
|
61
|
+
}
|
|
62
|
+
if (!input.getCollection || !input.dataSourceKey) {
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
return (0, import_service_helpers.resolveFieldTargetCollection)(input.field, input.dataSourceKey, input.getCollection);
|
|
66
|
+
}
|
|
67
|
+
function normalizeBindingContainerUse(containerUse) {
|
|
68
|
+
const normalized = String(containerUse || "").trim();
|
|
69
|
+
if (normalized === "FormAssociationItemModel") {
|
|
70
|
+
return "DetailsItemModel";
|
|
71
|
+
}
|
|
72
|
+
return normalized;
|
|
73
|
+
}
|
|
74
|
+
function resolveBindingScope(containerUse) {
|
|
75
|
+
switch ((0, import_field_semantics.normalizeFieldContainerKind)(normalizeBindingContainerUse(containerUse))) {
|
|
76
|
+
case "table":
|
|
77
|
+
case "details":
|
|
78
|
+
return "display";
|
|
79
|
+
case "form":
|
|
80
|
+
return "editable";
|
|
81
|
+
case "filter-form":
|
|
82
|
+
return "filter";
|
|
83
|
+
default:
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
function isRuleAvailable(rule, enabledPackages) {
|
|
88
|
+
if (!rule.ownerPlugin || !enabledPackages) {
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
return enabledPackages.has(rule.ownerPlugin);
|
|
92
|
+
}
|
|
93
|
+
function selectPreferredDefaultRule(rules) {
|
|
94
|
+
if (!rules.length) {
|
|
95
|
+
return null;
|
|
96
|
+
}
|
|
97
|
+
return rules.find((rule) => typeof rule.when === "function") || rules[0];
|
|
98
|
+
}
|
|
99
|
+
const FIELD_BINDING_RULE_DEFINITIONS = [
|
|
100
|
+
{
|
|
101
|
+
scope: "display",
|
|
102
|
+
modelClassName: "DisplayPreviewFieldModel",
|
|
103
|
+
interfaces: ["url", "attachment", "attachmentURL", "m2m", "m2o", "o2o", "o2m", "oho", "obo", "mbm"],
|
|
104
|
+
ownerPlugin: FILE_MANAGER_PLUGIN,
|
|
105
|
+
isDefault: true,
|
|
106
|
+
when: ({ field, targetCollection }) => isAttachmentInterface(field) || !targetCollection || getCollectionTemplate(targetCollection) === "file"
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
scope: "editable",
|
|
110
|
+
modelClassName: "UploadFieldModel",
|
|
111
|
+
interfaces: ["attachment", "m2m", "m2o", "o2o", "o2m", "oho", "obo", "updatedBy", "createdBy", "mbm"],
|
|
112
|
+
ownerPlugin: FILE_MANAGER_PLUGIN,
|
|
113
|
+
isDefault: true,
|
|
114
|
+
order: 30,
|
|
115
|
+
when: ({ field, targetCollection }) => isAttachmentInterface(field) || !targetCollection || getCollectionTemplate(targetCollection) === "file"
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
scope: "editable",
|
|
119
|
+
modelClassName: "AttachmentURLFieldModel",
|
|
120
|
+
interfaces: ["attachmentURL"],
|
|
121
|
+
ownerPlugin: ATTACHMENT_URL_PLUGIN,
|
|
122
|
+
isDefault: true
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
scope: "display",
|
|
126
|
+
modelClassName: "DisplayTextFieldModel",
|
|
127
|
+
interfaces: ["attachmentURL"],
|
|
128
|
+
ownerPlugin: ATTACHMENT_URL_PLUGIN,
|
|
129
|
+
isDefault: true
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
scope: "editable",
|
|
133
|
+
modelClassName: "CodeFieldModel",
|
|
134
|
+
interfaces: ["code"],
|
|
135
|
+
ownerPlugin: CODE_PLUGIN,
|
|
136
|
+
isDefault: true
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
scope: "display",
|
|
140
|
+
modelClassName: "DisplayCodeFieldModel",
|
|
141
|
+
interfaces: ["code"],
|
|
142
|
+
ownerPlugin: CODE_PLUGIN,
|
|
143
|
+
isDefault: true
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
scope: "filter",
|
|
147
|
+
modelClassName: "InputFieldModel",
|
|
148
|
+
interfaces: ["code"],
|
|
149
|
+
ownerPlugin: CODE_PLUGIN,
|
|
150
|
+
isDefault: true
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
scope: "editable",
|
|
154
|
+
modelClassName: "VditorFieldModel",
|
|
155
|
+
interfaces: ["vditor", "markdown"],
|
|
156
|
+
ownerPlugin: MARKDOWN_VDITOR_PLUGIN,
|
|
157
|
+
isDefault: true
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
scope: "display",
|
|
161
|
+
modelClassName: "DisplayVditorFieldModel",
|
|
162
|
+
interfaces: ["vditor", "markdown"],
|
|
163
|
+
ownerPlugin: MARKDOWN_VDITOR_PLUGIN,
|
|
164
|
+
isDefault: true
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
scope: "editable",
|
|
168
|
+
modelClassName: "ChinaRegionFieldModel",
|
|
169
|
+
interfaces: ["chinaRegion"],
|
|
170
|
+
ownerPlugin: CHINA_REGION_PLUGIN,
|
|
171
|
+
isDefault: true
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
scope: "display",
|
|
175
|
+
modelClassName: "DisplayChinaRegionFieldModel",
|
|
176
|
+
interfaces: ["chinaRegion"],
|
|
177
|
+
ownerPlugin: CHINA_REGION_PLUGIN,
|
|
178
|
+
isDefault: true
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
scope: "editable",
|
|
182
|
+
modelClassName: "SortFieldModel",
|
|
183
|
+
interfaces: ["sort"],
|
|
184
|
+
ownerPlugin: SORT_PLUGIN,
|
|
185
|
+
isDefault: true
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
scope: "display",
|
|
189
|
+
modelClassName: "DisplayNumberFieldModel",
|
|
190
|
+
interfaces: ["sort"],
|
|
191
|
+
ownerPlugin: SORT_PLUGIN,
|
|
192
|
+
isDefault: true
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
scope: "editable",
|
|
196
|
+
modelClassName: "PointFieldModel",
|
|
197
|
+
interfaces: ["point"],
|
|
198
|
+
ownerPlugin: MAP_PLUGIN,
|
|
199
|
+
isDefault: true
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
scope: "editable",
|
|
203
|
+
modelClassName: "CircleFieldModel",
|
|
204
|
+
interfaces: ["circle"],
|
|
205
|
+
ownerPlugin: MAP_PLUGIN,
|
|
206
|
+
isDefault: true
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
scope: "editable",
|
|
210
|
+
modelClassName: "PolygonFieldModel",
|
|
211
|
+
interfaces: ["polygon"],
|
|
212
|
+
ownerPlugin: MAP_PLUGIN,
|
|
213
|
+
isDefault: true
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
scope: "editable",
|
|
217
|
+
modelClassName: "LineStringFieldModel",
|
|
218
|
+
interfaces: ["lineString"],
|
|
219
|
+
ownerPlugin: MAP_PLUGIN,
|
|
220
|
+
isDefault: true
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
scope: "display",
|
|
224
|
+
modelClassName: "DisplayPointFieldModel",
|
|
225
|
+
interfaces: ["point"],
|
|
226
|
+
ownerPlugin: MAP_PLUGIN,
|
|
227
|
+
isDefault: true
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
scope: "display",
|
|
231
|
+
modelClassName: "DisplayCircleFieldModel",
|
|
232
|
+
interfaces: ["circle"],
|
|
233
|
+
ownerPlugin: MAP_PLUGIN,
|
|
234
|
+
isDefault: true
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
scope: "display",
|
|
238
|
+
modelClassName: "DisplayPolygonFieldModel",
|
|
239
|
+
interfaces: ["polygon"],
|
|
240
|
+
ownerPlugin: MAP_PLUGIN,
|
|
241
|
+
isDefault: true
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
scope: "display",
|
|
245
|
+
modelClassName: "DisplayLineStringFieldModel",
|
|
246
|
+
interfaces: ["lineString"],
|
|
247
|
+
ownerPlugin: MAP_PLUGIN,
|
|
248
|
+
isDefault: true
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
scope: "editable",
|
|
252
|
+
modelClassName: "FormulaFieldModel",
|
|
253
|
+
interfaces: ["formula"],
|
|
254
|
+
ownerPlugin: FORMULA_PLUGIN,
|
|
255
|
+
isDefault: true
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
scope: "display",
|
|
259
|
+
modelClassName: "DisplayCheckboxFieldModel",
|
|
260
|
+
interfaces: ["formula"],
|
|
261
|
+
ownerPlugin: FORMULA_PLUGIN,
|
|
262
|
+
isDefault: true,
|
|
263
|
+
when: ({ field }) => getFieldDataType(field) === "boolean"
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
scope: "display",
|
|
267
|
+
modelClassName: "DisplayDateTimeFieldModel",
|
|
268
|
+
interfaces: ["formula"],
|
|
269
|
+
ownerPlugin: FORMULA_PLUGIN,
|
|
270
|
+
isDefault: true,
|
|
271
|
+
when: ({ field }) => getFieldDataType(field) === "date"
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
scope: "display",
|
|
275
|
+
modelClassName: "DisplayTextFieldModel",
|
|
276
|
+
interfaces: ["formula"],
|
|
277
|
+
ownerPlugin: FORMULA_PLUGIN,
|
|
278
|
+
isDefault: true,
|
|
279
|
+
when: ({ field }) => getFieldDataType(field) === "string"
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
scope: "display",
|
|
283
|
+
modelClassName: "DisplayNumberFieldModel",
|
|
284
|
+
interfaces: ["formula"],
|
|
285
|
+
ownerPlugin: FORMULA_PLUGIN,
|
|
286
|
+
isDefault: true,
|
|
287
|
+
when: ({ field }) => ["double", "bigInt", "integer"].includes(String(getFieldDataType(field) || "").trim())
|
|
288
|
+
},
|
|
289
|
+
{
|
|
290
|
+
scope: "filter",
|
|
291
|
+
modelClassName: "InputFieldModel",
|
|
292
|
+
interfaces: ["formula"],
|
|
293
|
+
ownerPlugin: FORMULA_PLUGIN,
|
|
294
|
+
when: ({ field }) => {
|
|
295
|
+
const dataType = String(getFieldDataType(field) || "").trim();
|
|
296
|
+
return !["date", "boolean", "integer", "bigInt", "double", "decimal", "number"].includes(dataType);
|
|
297
|
+
}
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
scope: "filter",
|
|
301
|
+
modelClassName: "DateTimeFilterFieldModel",
|
|
302
|
+
interfaces: ["formula"],
|
|
303
|
+
ownerPlugin: FORMULA_PLUGIN,
|
|
304
|
+
when: ({ field }) => getFieldDataType(field) === "date"
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
scope: "filter",
|
|
308
|
+
modelClassName: "CheckboxFieldModel",
|
|
309
|
+
interfaces: ["formula"],
|
|
310
|
+
ownerPlugin: FORMULA_PLUGIN,
|
|
311
|
+
when: ({ field }) => getFieldDataType(field) === "boolean"
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
scope: "filter",
|
|
315
|
+
modelClassName: "NumberFieldModel",
|
|
316
|
+
interfaces: ["formula"],
|
|
317
|
+
ownerPlugin: FORMULA_PLUGIN,
|
|
318
|
+
when: ({ field }) => isNumericFormulaDataType(getFieldDataType(field))
|
|
319
|
+
}
|
|
320
|
+
];
|
|
321
|
+
const FIELD_BINDING_RULES = FIELD_BINDING_RULE_DEFINITIONS.map((rule, index) => ({
|
|
322
|
+
...rule,
|
|
323
|
+
index
|
|
324
|
+
}));
|
|
325
|
+
function getRegisteredFieldUses(scope, enabledPackages) {
|
|
326
|
+
const uses = /* @__PURE__ */ new Set();
|
|
327
|
+
FIELD_BINDING_RULES.forEach((rule) => {
|
|
328
|
+
if (scope && rule.scope !== scope) {
|
|
329
|
+
return;
|
|
330
|
+
}
|
|
331
|
+
if (!isRuleAvailable(rule, enabledPackages)) {
|
|
332
|
+
return;
|
|
333
|
+
}
|
|
334
|
+
uses.add(rule.modelClassName);
|
|
335
|
+
});
|
|
336
|
+
return uses;
|
|
337
|
+
}
|
|
338
|
+
function resolveRegisteredFieldBinding(input) {
|
|
339
|
+
const scope = resolveBindingScope(input.containerUse);
|
|
340
|
+
const fieldInterface = String((0, import_service_helpers.getFieldInterface)(input.field) || "").trim();
|
|
341
|
+
if (!scope || !fieldInterface) {
|
|
342
|
+
return null;
|
|
343
|
+
}
|
|
344
|
+
const targetCollection = resolveTargetCollection(input);
|
|
345
|
+
const candidates = FIELD_BINDING_RULES.filter((rule) => {
|
|
346
|
+
if (rule.scope !== scope) {
|
|
347
|
+
return false;
|
|
348
|
+
}
|
|
349
|
+
if (!rule.interfaces.includes(fieldInterface)) {
|
|
350
|
+
return false;
|
|
351
|
+
}
|
|
352
|
+
if (!isRuleAvailable(rule, input.enabledPackages)) {
|
|
353
|
+
return false;
|
|
354
|
+
}
|
|
355
|
+
if (!rule.when) {
|
|
356
|
+
return true;
|
|
357
|
+
}
|
|
358
|
+
return rule.when({
|
|
359
|
+
...input,
|
|
360
|
+
targetCollection
|
|
361
|
+
});
|
|
362
|
+
}).sort((a, b) => {
|
|
363
|
+
const orderDelta = Number(a.order || 0) - Number(b.order || 0);
|
|
364
|
+
return orderDelta || a.index - b.index;
|
|
365
|
+
});
|
|
366
|
+
const defaultRule = selectPreferredDefaultRule(candidates.filter((rule) => rule.isDefault));
|
|
367
|
+
if (defaultRule) {
|
|
368
|
+
return {
|
|
369
|
+
modelClassName: defaultRule.modelClassName,
|
|
370
|
+
ownerPlugin: defaultRule.ownerPlugin,
|
|
371
|
+
isDefault: true
|
|
372
|
+
};
|
|
373
|
+
}
|
|
374
|
+
if (input.useStrictOnly) {
|
|
375
|
+
return null;
|
|
376
|
+
}
|
|
377
|
+
const fallbackRule = candidates[0];
|
|
378
|
+
if (!fallbackRule) {
|
|
379
|
+
return null;
|
|
380
|
+
}
|
|
381
|
+
return {
|
|
382
|
+
modelClassName: fallbackRule.modelClassName,
|
|
383
|
+
ownerPlugin: fallbackRule.ownerPlugin,
|
|
384
|
+
isDefault: !!fallbackRule.isDefault
|
|
385
|
+
};
|
|
386
|
+
}
|
|
387
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
388
|
+
0 && (module.exports = {
|
|
389
|
+
getRegisteredFieldUses,
|
|
390
|
+
resolveRegisteredFieldBinding
|
|
391
|
+
});
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
8
|
*/
|
|
9
9
|
export declare const MULTI_VALUE_ASSOCIATION_INTERFACES: Set<string>;
|
|
10
|
-
export declare function normalizeFieldContainerKind(containerUse?: string): "form" | "details" | "
|
|
10
|
+
export declare function normalizeFieldContainerKind(containerUse?: string): "form" | "details" | "table" | "filter-form";
|
|
11
11
|
export declare function shouldUseAssociationTitleTextDisplay(input: {
|
|
12
12
|
containerUse?: string;
|
|
13
13
|
associationPathName?: string;
|
|
@@ -142,6 +142,81 @@ function registerFlowSurfacesResource(plugin) {
|
|
|
142
142
|
get: async (ctx, next) => {
|
|
143
143
|
await runFlowSurfaceAction(ctx, next, () => service.get(getReadValues(ctx)));
|
|
144
144
|
},
|
|
145
|
+
describeSurface: async (ctx, next) => {
|
|
146
|
+
await runFlowSurfaceAction(ctx, next, () => service.describeSurface(getValues(ctx)));
|
|
147
|
+
},
|
|
148
|
+
getReactionMeta: async (ctx, next) => {
|
|
149
|
+
await runFlowSurfaceAction(ctx, next, () => service.getReactionMeta(getValues(ctx)));
|
|
150
|
+
},
|
|
151
|
+
setFieldValueRules: async (ctx, next) => {
|
|
152
|
+
await runFlowSurfaceAction(
|
|
153
|
+
ctx,
|
|
154
|
+
next,
|
|
155
|
+
() => service.transaction((transaction) => service.setFieldValueRules(getValues(ctx), { transaction }))
|
|
156
|
+
);
|
|
157
|
+
},
|
|
158
|
+
setBlockLinkageRules: async (ctx, next) => {
|
|
159
|
+
await runFlowSurfaceAction(
|
|
160
|
+
ctx,
|
|
161
|
+
next,
|
|
162
|
+
() => service.transaction((transaction) => service.setBlockLinkageRules(getValues(ctx), { transaction }))
|
|
163
|
+
);
|
|
164
|
+
},
|
|
165
|
+
setFieldLinkageRules: async (ctx, next) => {
|
|
166
|
+
await runFlowSurfaceAction(
|
|
167
|
+
ctx,
|
|
168
|
+
next,
|
|
169
|
+
() => service.transaction((transaction) => service.setFieldLinkageRules(getValues(ctx), { transaction }))
|
|
170
|
+
);
|
|
171
|
+
},
|
|
172
|
+
setActionLinkageRules: async (ctx, next) => {
|
|
173
|
+
await runFlowSurfaceAction(
|
|
174
|
+
ctx,
|
|
175
|
+
next,
|
|
176
|
+
() => service.transaction((transaction) => service.setActionLinkageRules(getValues(ctx), { transaction }))
|
|
177
|
+
);
|
|
178
|
+
},
|
|
179
|
+
applyBlueprint: async (ctx, next) => {
|
|
180
|
+
await runFlowSurfaceAction(
|
|
181
|
+
ctx,
|
|
182
|
+
next,
|
|
183
|
+
() => service.transaction((transaction) => service.applyBlueprint(getValues(ctx), { transaction }))
|
|
184
|
+
);
|
|
185
|
+
},
|
|
186
|
+
listTemplates: async (ctx, next) => {
|
|
187
|
+
await runFlowSurfaceAction(ctx, next, () => service.listTemplates(getValues(ctx)));
|
|
188
|
+
},
|
|
189
|
+
getTemplate: async (ctx, next) => {
|
|
190
|
+
await runFlowSurfaceAction(ctx, next, () => service.getTemplate(getValues(ctx)));
|
|
191
|
+
},
|
|
192
|
+
saveTemplate: async (ctx, next) => {
|
|
193
|
+
await runFlowSurfaceAction(
|
|
194
|
+
ctx,
|
|
195
|
+
next,
|
|
196
|
+
() => service.transaction((transaction) => service.saveTemplate(getValues(ctx), { transaction }))
|
|
197
|
+
);
|
|
198
|
+
},
|
|
199
|
+
updateTemplate: async (ctx, next) => {
|
|
200
|
+
await runFlowSurfaceAction(
|
|
201
|
+
ctx,
|
|
202
|
+
next,
|
|
203
|
+
() => service.transaction((transaction) => service.updateTemplate(getValues(ctx), { transaction }))
|
|
204
|
+
);
|
|
205
|
+
},
|
|
206
|
+
destroyTemplate: async (ctx, next) => {
|
|
207
|
+
await runFlowSurfaceAction(
|
|
208
|
+
ctx,
|
|
209
|
+
next,
|
|
210
|
+
() => service.transaction((transaction) => service.destroyTemplate(getValues(ctx), { transaction }))
|
|
211
|
+
);
|
|
212
|
+
},
|
|
213
|
+
convertTemplateToCopy: async (ctx, next) => {
|
|
214
|
+
await runFlowSurfaceAction(
|
|
215
|
+
ctx,
|
|
216
|
+
next,
|
|
217
|
+
() => service.transaction((transaction) => service.convertTemplateToCopy(getValues(ctx), { transaction }))
|
|
218
|
+
);
|
|
219
|
+
},
|
|
145
220
|
compose: async (ctx, next) => {
|
|
146
221
|
await runFlowSurfaceAction(
|
|
147
222
|
ctx,
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
export declare const COLLECTION_BLOCK_USES: Set<string>;
|
|
10
|
+
export declare const STATIC_CONTENT_BLOCK_USES: Set<string>;
|
|
11
|
+
export declare const FIELD_WRAPPER_USES: Set<string>;
|
|
12
|
+
export declare const CREATABLE_STANDALONE_FIELD_USES: Set<string>;
|
|
13
|
+
export declare const STANDALONE_FIELD_NODE_USES: Set<string>;
|
|
14
|
+
export declare const ACTION_BUTTON_USES: Set<string>;
|
|
15
|
+
export declare const JS_BLOCK_USES: Set<string>;
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
var __defProp = Object.defineProperty;
|
|
11
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
12
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
13
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
14
|
+
var __export = (target, all) => {
|
|
15
|
+
for (var name in all)
|
|
16
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
17
|
+
};
|
|
18
|
+
var __copyProps = (to, from, except, desc) => {
|
|
19
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
20
|
+
for (let key of __getOwnPropNames(from))
|
|
21
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
22
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
23
|
+
}
|
|
24
|
+
return to;
|
|
25
|
+
};
|
|
26
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
27
|
+
var node_use_sets_exports = {};
|
|
28
|
+
__export(node_use_sets_exports, {
|
|
29
|
+
ACTION_BUTTON_USES: () => ACTION_BUTTON_USES,
|
|
30
|
+
COLLECTION_BLOCK_USES: () => COLLECTION_BLOCK_USES,
|
|
31
|
+
CREATABLE_STANDALONE_FIELD_USES: () => CREATABLE_STANDALONE_FIELD_USES,
|
|
32
|
+
FIELD_WRAPPER_USES: () => FIELD_WRAPPER_USES,
|
|
33
|
+
JS_BLOCK_USES: () => JS_BLOCK_USES,
|
|
34
|
+
STANDALONE_FIELD_NODE_USES: () => STANDALONE_FIELD_NODE_USES,
|
|
35
|
+
STATIC_CONTENT_BLOCK_USES: () => STATIC_CONTENT_BLOCK_USES
|
|
36
|
+
});
|
|
37
|
+
module.exports = __toCommonJS(node_use_sets_exports);
|
|
38
|
+
const COLLECTION_BLOCK_USES = /* @__PURE__ */ new Set([
|
|
39
|
+
"TableBlockModel",
|
|
40
|
+
"CreateFormModel",
|
|
41
|
+
"EditFormModel",
|
|
42
|
+
"FormBlockModel",
|
|
43
|
+
"DetailsBlockModel",
|
|
44
|
+
"FilterFormBlockModel",
|
|
45
|
+
"ListBlockModel",
|
|
46
|
+
"GridCardBlockModel",
|
|
47
|
+
"MapBlockModel",
|
|
48
|
+
"CommentsBlockModel"
|
|
49
|
+
]);
|
|
50
|
+
const STATIC_CONTENT_BLOCK_USES = /* @__PURE__ */ new Set([
|
|
51
|
+
"MarkdownBlockModel",
|
|
52
|
+
"IframeBlockModel",
|
|
53
|
+
"ChartBlockModel",
|
|
54
|
+
"ActionPanelBlockModel",
|
|
55
|
+
"JSBlockModel"
|
|
56
|
+
]);
|
|
57
|
+
const FIELD_WRAPPER_USES = /* @__PURE__ */ new Set([
|
|
58
|
+
"FormItemModel",
|
|
59
|
+
"FormAssociationItemModel",
|
|
60
|
+
"DetailsItemModel",
|
|
61
|
+
"FilterFormItemModel",
|
|
62
|
+
"TableColumnModel"
|
|
63
|
+
]);
|
|
64
|
+
const CREATABLE_STANDALONE_FIELD_USES = /* @__PURE__ */ new Set(["JSColumnModel", "JSItemModel"]);
|
|
65
|
+
const STANDALONE_FIELD_NODE_USES = /* @__PURE__ */ new Set([...CREATABLE_STANDALONE_FIELD_USES, "FormJSFieldItemModel"]);
|
|
66
|
+
const ACTION_BUTTON_USES = /* @__PURE__ */ new Set([
|
|
67
|
+
"AddNewActionModel",
|
|
68
|
+
"ViewActionModel",
|
|
69
|
+
"EditActionModel",
|
|
70
|
+
"PopupCollectionActionModel",
|
|
71
|
+
"DeleteActionModel",
|
|
72
|
+
"BulkDeleteActionModel",
|
|
73
|
+
"BulkEditActionModel",
|
|
74
|
+
"UpdateRecordActionModel",
|
|
75
|
+
"BulkUpdateActionModel",
|
|
76
|
+
"DuplicateActionModel",
|
|
77
|
+
"AddChildActionModel",
|
|
78
|
+
"FilterActionModel",
|
|
79
|
+
"ExpandCollapseActionModel",
|
|
80
|
+
"FormSubmitActionModel",
|
|
81
|
+
"FilterFormSubmitActionModel",
|
|
82
|
+
"FilterFormResetActionModel",
|
|
83
|
+
"FilterFormCollapseActionModel",
|
|
84
|
+
"RefreshActionModel",
|
|
85
|
+
"LinkActionModel",
|
|
86
|
+
"ExportActionModel",
|
|
87
|
+
"ExportAttachmentActionModel",
|
|
88
|
+
"ImportActionModel",
|
|
89
|
+
"UploadActionModel",
|
|
90
|
+
"TemplatePrintCollectionActionModel",
|
|
91
|
+
"TemplatePrintRecordActionModel",
|
|
92
|
+
"CollectionTriggerWorkflowActionModel",
|
|
93
|
+
"RecordTriggerWorkflowActionModel",
|
|
94
|
+
"FormTriggerWorkflowActionModel",
|
|
95
|
+
"WorkbenchTriggerWorkflowActionModel",
|
|
96
|
+
"MailSendActionModel",
|
|
97
|
+
"JSCollectionActionModel",
|
|
98
|
+
"JSRecordActionModel",
|
|
99
|
+
"JSFormActionModel",
|
|
100
|
+
"JSItemActionModel",
|
|
101
|
+
"FilterFormJSActionModel",
|
|
102
|
+
"JSActionModel"
|
|
103
|
+
]);
|
|
104
|
+
const JS_BLOCK_USES = /* @__PURE__ */ new Set(["JSBlockModel"]);
|
|
105
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
106
|
+
0 && (module.exports = {
|
|
107
|
+
ACTION_BUTTON_USES,
|
|
108
|
+
COLLECTION_BLOCK_USES,
|
|
109
|
+
CREATABLE_STANDALONE_FIELD_USES,
|
|
110
|
+
FIELD_WRAPPER_USES,
|
|
111
|
+
JS_BLOCK_USES,
|
|
112
|
+
STANDALONE_FIELD_NODE_USES,
|
|
113
|
+
STATIC_CONTENT_BLOCK_USES
|
|
114
|
+
});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
export declare function validateFlowSurfacePayloadShape(actionName: string, value: any, path: string): void;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
var __create = Object.create;
|
|
11
|
+
var __defProp = Object.defineProperty;
|
|
12
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
13
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
14
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
15
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
16
|
+
var __export = (target, all) => {
|
|
17
|
+
for (var name in all)
|
|
18
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
19
|
+
};
|
|
20
|
+
var __copyProps = (to, from, except, desc) => {
|
|
21
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
22
|
+
for (let key of __getOwnPropNames(from))
|
|
23
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
24
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
25
|
+
}
|
|
26
|
+
return to;
|
|
27
|
+
};
|
|
28
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
29
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
30
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
31
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
32
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
33
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
34
|
+
mod
|
|
35
|
+
));
|
|
36
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
37
|
+
var payload_shape_exports = {};
|
|
38
|
+
__export(payload_shape_exports, {
|
|
39
|
+
validateFlowSurfacePayloadShape: () => validateFlowSurfacePayloadShape
|
|
40
|
+
});
|
|
41
|
+
module.exports = __toCommonJS(payload_shape_exports);
|
|
42
|
+
var import_lodash = __toESM(require("lodash"));
|
|
43
|
+
var import_errors = require("./errors");
|
|
44
|
+
var import_key_registry = require("./planning/key-registry");
|
|
45
|
+
function validateFlowSurfacePayloadShape(actionName, value, path) {
|
|
46
|
+
if (Array.isArray(value)) {
|
|
47
|
+
value.forEach((item, index) => validateFlowSurfacePayloadShape(actionName, item, `${path}[${index}]`));
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
if (!import_lodash.default.isPlainObject(value)) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
if (import_lodash.default.isPlainObject(value.stepParams) && Object.prototype.hasOwnProperty.call(value.stepParams, import_key_registry.FLOW_SURFACE_INTERNAL_META_KEY)) {
|
|
54
|
+
(0, import_errors.throwBadRequest)(`flowSurfaces ${actionName} ${path}.stepParams.${import_key_registry.FLOW_SURFACE_INTERNAL_META_KEY} is reserved`);
|
|
55
|
+
}
|
|
56
|
+
Object.entries(value).forEach(([key, child]) => validateFlowSurfacePayloadShape(actionName, child, `${path}.${key}`));
|
|
57
|
+
}
|
|
58
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
59
|
+
0 && (module.exports = {
|
|
60
|
+
validateFlowSurfacePayloadShape
|
|
61
|
+
});
|