@steedos/objectql 2.2.55-beta.9 → 2.3.0-beta.4
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/lib/actions/field_updates.js +36 -50
- package/lib/actions/field_updates.js.map +1 -1
- package/lib/actions/workflow_notifications.d.ts +0 -12
- package/lib/actions/workflow_notifications.js +14 -31
- package/lib/actions/workflow_notifications.js.map +1 -1
- package/lib/actions/workflow_rule.js +33 -54
- package/lib/actions/workflow_rule.js.map +1 -1
- package/lib/broker.js +5 -5
- package/lib/broker.js.map +1 -1
- package/lib/driver/driver.d.ts +0 -38
- package/lib/driver/field-encrytion/index.js +0 -7
- package/lib/driver/field-encrytion/index.js.map +1 -1
- package/lib/driver/field-encrytion/mongosharedconst.js +4 -20
- package/lib/driver/field-encrytion/mongosharedconst.js.map +1 -1
- package/lib/driver/fieldDBType.js +0 -4
- package/lib/driver/fieldDBType.js.map +1 -1
- package/lib/driver/format.d.ts +0 -12
- package/lib/driver/format.js +0 -12
- package/lib/driver/format.js.map +1 -1
- package/lib/driver/metadata.js +2 -10
- package/lib/driver/metadata.js.map +1 -1
- package/lib/driver/meteorMongo.js +32 -36
- package/lib/driver/meteorMongo.js.map +1 -1
- package/lib/driver/mongo.d.ts +0 -3
- package/lib/driver/mongo.js +59 -64
- package/lib/driver/mongo.js.map +1 -1
- package/lib/driver/mysql.js +1 -8
- package/lib/driver/mysql.js.map +1 -1
- package/lib/driver/oracle.js +3 -11
- package/lib/driver/oracle.js.map +1 -1
- package/lib/driver/postgres.js +1 -8
- package/lib/driver/postgres.js.map +1 -1
- package/lib/driver/sqlite3.js +1 -8
- package/lib/driver/sqlite3.js.map +1 -1
- package/lib/driver/sqlserver.js +3 -10
- package/lib/driver/sqlserver.js.map +1 -1
- package/lib/dynamic-load/actions.js +26 -27
- package/lib/dynamic-load/actions.js.map +1 -1
- package/lib/dynamic-load/approval_process.js +0 -1
- package/lib/dynamic-load/approval_process.js.map +1 -1
- package/lib/dynamic-load/button.js +13 -13
- package/lib/dynamic-load/button.js.map +1 -1
- package/lib/dynamic-load/chart.js +3 -3
- package/lib/dynamic-load/chart.js.map +1 -1
- package/lib/dynamic-load/client_script.js +0 -24
- package/lib/dynamic-load/client_script.js.map +1 -1
- package/lib/dynamic-load/field.js +13 -13
- package/lib/dynamic-load/field.js.map +1 -1
- package/lib/dynamic-load/layout.js +16 -16
- package/lib/dynamic-load/layout.js.map +1 -1
- package/lib/dynamic-load/listview.js +13 -13
- package/lib/dynamic-load/listview.js.map +1 -1
- package/lib/dynamic-load/object_translations.js +8 -20
- package/lib/dynamic-load/object_translations.js.map +1 -1
- package/lib/dynamic-load/package.d.ts +0 -8
- package/lib/dynamic-load/package.js +83 -95
- package/lib/dynamic-load/package.js.map +1 -1
- package/lib/dynamic-load/page.js +3 -3
- package/lib/dynamic-load/page.js.map +1 -1
- package/lib/dynamic-load/permission.js +24 -25
- package/lib/dynamic-load/permission.js.map +1 -1
- package/lib/dynamic-load/permissionset.js +22 -23
- package/lib/dynamic-load/permissionset.js.map +1 -1
- package/lib/dynamic-load/preload_data.js +73 -73
- package/lib/dynamic-load/preload_data.js.map +1 -1
- package/lib/dynamic-load/profile.js +22 -25
- package/lib/dynamic-load/profile.js.map +1 -1
- package/lib/dynamic-load/query.js +3 -3
- package/lib/dynamic-load/query.js.map +1 -1
- package/lib/dynamic-load/restrictionRules.js +3 -3
- package/lib/dynamic-load/restrictionRules.js.map +1 -1
- package/lib/dynamic-load/shareRules.js +3 -3
- package/lib/dynamic-load/shareRules.js.map +1 -1
- package/lib/dynamic-load/tab.js +4 -4
- package/lib/dynamic-load/tab.js.map +1 -1
- package/lib/dynamic-load/tabs.d.ts +0 -3
- package/lib/dynamic-load/tabs.js +4 -7
- package/lib/dynamic-load/tabs.js.map +1 -1
- package/lib/dynamic-load/translations.js +17 -28
- package/lib/dynamic-load/translations.js.map +1 -1
- package/lib/dynamic-load/trigger.d.ts +0 -5
- package/lib/dynamic-load/trigger.js +0 -29
- package/lib/dynamic-load/trigger.js.map +1 -1
- package/lib/errors/index.js +1 -25
- package/lib/errors/index.js.map +1 -1
- package/lib/formula/core.d.ts +0 -63
- package/lib/formula/core.js +94 -211
- package/lib/formula/core.js.map +1 -1
- package/lib/formula/field_formula.d.ts +0 -23
- package/lib/formula/field_formula.js +12 -36
- package/lib/formula/field_formula.js.map +1 -1
- package/lib/formula/index.js +15 -22
- package/lib/formula/index.js.map +1 -1
- package/lib/formula/params.js +23 -48
- package/lib/formula/params.js.map +1 -1
- package/lib/formula/recompute.d.ts +0 -8
- package/lib/formula/recompute.js +32 -45
- package/lib/formula/recompute.js.map +1 -1
- package/lib/formula/simple_params.js +10 -10
- package/lib/formula/simple_params.js.map +1 -1
- package/lib/formula/type.d.ts +0 -52
- package/lib/formula/type.js +0 -4
- package/lib/formula/type.js.map +1 -1
- package/lib/formula/util.d.ts +0 -69
- package/lib/formula/util.js +0 -70
- package/lib/formula/util.js.map +1 -1
- package/lib/index.js +0 -7
- package/lib/index.js.map +1 -1
- package/lib/metadata-register/_base.js +13 -13
- package/lib/metadata-register/_base.js.map +1 -1
- package/lib/metadata-register/app.js +8 -8
- package/lib/metadata-register/app.js.map +1 -1
- package/lib/metadata-register/chart.js +1 -1
- package/lib/metadata-register/index.js +49 -49
- package/lib/metadata-register/index.js.map +1 -1
- package/lib/metadata-register/layout.js +10 -10
- package/lib/metadata-register/layout.js.map +1 -1
- package/lib/metadata-register/object.js +10 -15
- package/lib/metadata-register/object.js.map +1 -1
- package/lib/metadata-register/page.js +1 -1
- package/lib/metadata-register/permissionFields.js +1 -1
- package/lib/metadata-register/permissionset.js +6 -6
- package/lib/metadata-register/permissionset.js.map +1 -1
- package/lib/metadata-register/process.js +1 -8
- package/lib/metadata-register/process.js.map +1 -1
- package/lib/metadata-register/processTrigger.d.ts +0 -11
- package/lib/metadata-register/processTrigger.js +1 -12
- package/lib/metadata-register/processTrigger.js.map +1 -1
- package/lib/metadata-register/profile.js +6 -6
- package/lib/metadata-register/profile.js.map +1 -1
- package/lib/metadata-register/query.js +1 -1
- package/lib/metadata-register/restrictionRules.js +1 -1
- package/lib/metadata-register/shareRules.js +1 -1
- package/lib/metadata-register/tab.js +1 -1
- package/lib/metadata-register/tabs.d.ts +0 -3
- package/lib/metadata-register/tabs.js +10 -13
- package/lib/metadata-register/tabs.js.map +1 -1
- package/lib/services/datasourceServiceFactory.js +5 -8
- package/lib/services/datasourceServiceFactory.js.map +1 -1
- package/lib/services/helpers/graphql/consts.js +0 -7
- package/lib/services/helpers/graphql/consts.js.map +1 -1
- package/lib/services/helpers/graphql/getPrimaryFieldType.d.ts +0 -4
- package/lib/services/helpers/graphql/getPrimaryFieldType.js +0 -12
- package/lib/services/helpers/graphql/getPrimaryFieldType.js.map +1 -1
- package/lib/services/helpers/graphql/getQueryFields.js +0 -4
- package/lib/services/helpers/graphql/getQueryFields.js.map +1 -1
- package/lib/services/helpers/graphql/index.js +84 -108
- package/lib/services/helpers/graphql/index.js.map +1 -1
- package/lib/services/objectService.js +127 -179
- package/lib/services/objectService.js.map +1 -1
- package/lib/services/objectServiceDispatcher.js +87 -87
- package/lib/services/objectServiceDispatcher.js.map +1 -1
- package/lib/services/objectServiceFactory.js +4 -4
- package/lib/services/objectServiceFactory.js.map +1 -1
- package/lib/summary/core.d.ts +0 -68
- package/lib/summary/core.js +46 -130
- package/lib/summary/core.js.map +1 -1
- package/lib/summary/field_summary.d.ts +0 -16
- package/lib/summary/field_summary.js +10 -27
- package/lib/summary/field_summary.js.map +1 -1
- package/lib/summary/index.d.ts +0 -5
- package/lib/summary/index.js +10 -28
- package/lib/summary/index.js.map +1 -1
- package/lib/summary/recompute.d.ts +0 -8
- package/lib/summary/recompute.js +8 -23
- package/lib/summary/recompute.js.map +1 -1
- package/lib/summary/type.d.ts +0 -17
- package/lib/summary/type.js +0 -13
- package/lib/summary/type.js.map +1 -1
- package/lib/typeorm/driver.js +69 -77
- package/lib/typeorm/driver.js.map +1 -1
- package/lib/typeorm/util.js +5 -4
- package/lib/typeorm/util.js.map +1 -1
- package/lib/types/action.js +1 -1
- package/lib/types/app.js +38 -43
- package/lib/types/app.js.map +1 -1
- package/lib/types/config.js +11 -15
- package/lib/types/config.js.map +1 -1
- package/lib/types/connection.d.ts +0 -10
- package/lib/types/connection.js +9 -16
- package/lib/types/connection.js.map +1 -1
- package/lib/types/dashboard.js +1 -1
- package/lib/types/datasource.d.ts +0 -3
- package/lib/types/datasource.js +97 -110
- package/lib/types/datasource.js.map +1 -1
- package/lib/types/field.js +4 -34
- package/lib/types/field.js.map +1 -1
- package/lib/types/field_permission.js +7 -7
- package/lib/types/field_permission.js.map +1 -1
- package/lib/types/list_view.js +2 -2
- package/lib/types/object.d.ts +0 -38
- package/lib/types/object.js +284 -391
- package/lib/types/object.js.map +1 -1
- package/lib/types/object_dynamic_load.js +40 -45
- package/lib/types/object_dynamic_load.js.map +1 -1
- package/lib/types/object_events.js +4 -14
- package/lib/types/object_events.js.map +1 -1
- package/lib/types/object_layouts.js +4 -4
- package/lib/types/object_layouts.js.map +1 -1
- package/lib/types/object_permission.js +2 -2
- package/lib/types/query.d.ts +0 -12
- package/lib/types/report.js +1 -1
- package/lib/types/restrictionRule.js +6 -6
- package/lib/types/restrictionRule.js.map +1 -1
- package/lib/types/schema.d.ts +0 -14
- package/lib/types/schema.js +14 -39
- package/lib/types/schema.js.map +1 -1
- package/lib/types/shareRule.js +6 -6
- package/lib/types/shareRule.js.map +1 -1
- package/lib/types/trigger.js +1 -1
- package/lib/types/validation_rules.js +10 -15
- package/lib/types/validation_rules.js.map +1 -1
- package/lib/util/index.d.ts +0 -12
- package/lib/util/index.js +10 -50
- package/lib/util/index.js.map +1 -1
- package/lib/util/locale.d.ts +0 -6
- package/lib/util/locale.js +0 -6
- package/lib/util/locale.js.map +1 -1
- package/lib/util/suffix.js +4 -12
- package/lib/util/suffix.js.map +1 -1
- package/package.json +13 -13
|
@@ -13,23 +13,22 @@ var getFieldValue = function (action, recordId, userSession) { return tslib_1.__
|
|
|
13
13
|
case 0:
|
|
14
14
|
_a = action.operation;
|
|
15
15
|
switch (_a) {
|
|
16
|
-
case 'null': return [3
|
|
17
|
-
case 'literal': return [3
|
|
18
|
-
case 'formula': return [3
|
|
16
|
+
case 'null': return [3, 1];
|
|
17
|
+
case 'literal': return [3, 2];
|
|
18
|
+
case 'formula': return [3, 3];
|
|
19
19
|
}
|
|
20
|
-
return [3
|
|
21
|
-
case 1: return [2
|
|
22
|
-
case 2: return [2
|
|
23
|
-
case 3: return [4
|
|
24
|
-
case 4: return [2
|
|
25
|
-
case 5: return [2
|
|
20
|
+
return [3, 5];
|
|
21
|
+
case 1: return [2, null];
|
|
22
|
+
case 2: return [2, action.literal_value];
|
|
23
|
+
case 3: return [4, (0, index_1.computeFormula)(action.formula, action.object_name, recordId, userSession.userId, userSession.spaceId)];
|
|
24
|
+
case 4: return [2, _b.sent()];
|
|
25
|
+
case 5: return [2];
|
|
26
26
|
}
|
|
27
27
|
});
|
|
28
28
|
}); };
|
|
29
29
|
function getFieldUpdateActionTargetObjectName(action) {
|
|
30
30
|
var isCrossedObject = action.target_object != action.object_name;
|
|
31
31
|
if (isCrossedObject) {
|
|
32
|
-
// 如果是跨对象字段更新,则target_object保存的是关联字段名,而不是对象名称
|
|
33
32
|
var result = (0, index_1.getObject)(action.object_name).getField(action.target_object).reference_to;
|
|
34
33
|
if (!_.isString(result)) {
|
|
35
34
|
throw new index_1.SteedosError('target_object must be a string');
|
|
@@ -47,78 +46,65 @@ function runFieldUpdateAction(action, recordId, userSession) {
|
|
|
47
46
|
var _b, _c;
|
|
48
47
|
return tslib_1.__generator(this, function (_d) {
|
|
49
48
|
switch (_d.label) {
|
|
50
|
-
case 0: return [4
|
|
49
|
+
case 0: return [4, (0, index_1.getObject)(action.object_name).findOne(recordId, null)];
|
|
51
50
|
case 1:
|
|
52
51
|
record = _d.sent();
|
|
53
52
|
needToReevaluate = false;
|
|
54
53
|
isCrossedObject = action.target_object != action.object_name;
|
|
55
54
|
mainObjectName = getFieldUpdateActionTargetObjectName(action);
|
|
56
|
-
if (!isCrossedObject) return [3
|
|
57
|
-
// 跨对象字段更新
|
|
55
|
+
if (!isCrossedObject) return [3, 4];
|
|
58
56
|
recordIdToUpdate = record[action.target_object];
|
|
59
57
|
_a = recordIdToUpdate;
|
|
60
|
-
if (!_a) return [3
|
|
61
|
-
return [4
|
|
58
|
+
if (!_a) return [3, 3];
|
|
59
|
+
return [4, (0, index_1.getObject)(mainObjectName).findOne(recordIdToUpdate, null)];
|
|
62
60
|
case 2:
|
|
63
61
|
_a = (_d.sent());
|
|
64
62
|
_d.label = 3;
|
|
65
63
|
case 3:
|
|
66
64
|
previousRecord = _a;
|
|
67
|
-
//对于跨对象的字段更新,虽然始终不会重新评估字段更新关联对象的工作流规则,但是始终会重新评估其要更新的对象的所有工作流规则。
|
|
68
65
|
needToReevaluate = true;
|
|
69
|
-
return [3
|
|
66
|
+
return [3, 5];
|
|
70
67
|
case 4:
|
|
71
|
-
// 本对象字段更新
|
|
72
68
|
recordIdToUpdate = record._id;
|
|
73
69
|
previousRecord = record;
|
|
74
|
-
//对于非跨对象的字段更新,是否重新评估字段更新关联对象的工作流规则由其属性reevaluate_on_change决定。
|
|
75
70
|
needToReevaluate = action.reevaluate_on_change;
|
|
76
71
|
_d.label = 5;
|
|
77
72
|
case 5:
|
|
78
73
|
objectToUpdate = (0, index_1.getObject)(mainObjectName);
|
|
79
74
|
fieldToUpdate = objectToUpdate.getField(action.field_name);
|
|
80
75
|
if (["formula", "summary", "autonumber"].indexOf(fieldToUpdate.type) > -1) {
|
|
81
|
-
|
|
82
|
-
return [2 /*return*/, null];
|
|
76
|
+
return [2, null];
|
|
83
77
|
}
|
|
84
|
-
return [4
|
|
78
|
+
return [4, getFieldValue(action, recordId, userSession)];
|
|
85
79
|
case 6:
|
|
86
80
|
newFieldValue = _d.sent();
|
|
87
|
-
if (!(recordIdToUpdate && newFieldValue !== (previousRecord && previousRecord[action.field_name]))) return [3
|
|
88
|
-
if (!(action.undirect === true)) return [3
|
|
89
|
-
return [4
|
|
81
|
+
if (!(recordIdToUpdate && newFieldValue !== (previousRecord && previousRecord[action.field_name]))) return [3, 13];
|
|
82
|
+
if (!(action.undirect === true)) return [3, 8];
|
|
83
|
+
return [4, objectToUpdate.update(recordIdToUpdate, (_b = {}, _b[action.field_name] = newFieldValue, _b))];
|
|
90
84
|
case 7:
|
|
91
85
|
_d.sent();
|
|
92
|
-
return [3
|
|
93
|
-
case 8:
|
|
94
|
-
// 只有值变更时才执行字段更新、级联公式重算、级联汇总字段重算、重新评估工作流规则等操作
|
|
95
|
-
return [4 /*yield*/, objectToUpdate.directUpdate(recordIdToUpdate, (_c = {}, _c[action.field_name] = newFieldValue, _c))];
|
|
86
|
+
return [3, 12];
|
|
87
|
+
case 8: return [4, objectToUpdate.directUpdate(recordIdToUpdate, (_c = {}, _c[action.field_name] = newFieldValue, _c))];
|
|
96
88
|
case 9:
|
|
97
|
-
// 只有值变更时才执行字段更新、级联公式重算、级联汇总字段重算、重新评估工作流规则等操作
|
|
98
89
|
_d.sent();
|
|
99
|
-
|
|
100
|
-
return [4 /*yield*/, (0, formula_1.runQuotedByObjectFieldFormulas)(mainObjectName, recordIdToUpdate, userSession, {
|
|
90
|
+
return [4, (0, formula_1.runQuotedByObjectFieldFormulas)(mainObjectName, recordIdToUpdate, userSession, {
|
|
101
91
|
fieldNames: [action.field_name]
|
|
102
92
|
})];
|
|
103
93
|
case 10:
|
|
104
|
-
// 字段更新后,需要找到引用了该字段的公式字段并更新其值
|
|
105
94
|
_d.sent();
|
|
106
|
-
|
|
107
|
-
return [4 /*yield*/, (0, summary_1.runQuotedByObjectFieldSummaries)(mainObjectName, recordIdToUpdate, null, userSession, {
|
|
95
|
+
return [4, (0, summary_1.runQuotedByObjectFieldSummaries)(mainObjectName, recordIdToUpdate, null, userSession, {
|
|
108
96
|
fieldNames: [action.field_name]
|
|
109
97
|
})];
|
|
110
98
|
case 11:
|
|
111
|
-
// 字段更新后,需要找到引用了该字段的累计汇总字段并更新其值
|
|
112
99
|
_d.sent();
|
|
113
100
|
_d.label = 12;
|
|
114
|
-
case 12: return [3
|
|
101
|
+
case 12: return [3, 14];
|
|
115
102
|
case 13:
|
|
116
|
-
// 值没变更时强制重置needToReevaluate为false,即不需要执行相关工作流规则重新评估
|
|
117
103
|
needToReevaluate = false;
|
|
118
104
|
_d.label = 14;
|
|
119
105
|
case 14:
|
|
120
106
|
if (needToReevaluate) {
|
|
121
|
-
return [2
|
|
107
|
+
return [2, {
|
|
122
108
|
object_name: mainObjectName,
|
|
123
109
|
record_id: recordIdToUpdate,
|
|
124
110
|
field_name: action.field_name,
|
|
@@ -126,9 +112,9 @@ function runFieldUpdateAction(action, recordId, userSession) {
|
|
|
126
112
|
}];
|
|
127
113
|
}
|
|
128
114
|
else {
|
|
129
|
-
return [2
|
|
115
|
+
return [2, null];
|
|
130
116
|
}
|
|
131
|
-
return [2
|
|
117
|
+
return [2];
|
|
132
118
|
}
|
|
133
119
|
});
|
|
134
120
|
});
|
|
@@ -146,8 +132,8 @@ function runFieldUpdateActions(ids, recordId, userSession) {
|
|
|
146
132
|
if (!_.isEmpty(ids)) {
|
|
147
133
|
filters.push([['name', 'in', ids], 'or', ['_id', 'in', ids]]);
|
|
148
134
|
}
|
|
149
|
-
if (!!_.isEmpty(filters)) return [3
|
|
150
|
-
return [4
|
|
135
|
+
if (!!_.isEmpty(filters)) return [3, 9];
|
|
136
|
+
return [4, (0, index_1.getObject)("action_field_updates").find({ filters: filters })];
|
|
151
137
|
case 1:
|
|
152
138
|
actions = _b.sent();
|
|
153
139
|
_b.label = 2;
|
|
@@ -156,9 +142,9 @@ function runFieldUpdateActions(ids, recordId, userSession) {
|
|
|
156
142
|
actions_1 = tslib_1.__values(actions), actions_1_1 = actions_1.next();
|
|
157
143
|
_b.label = 3;
|
|
158
144
|
case 3:
|
|
159
|
-
if (!!actions_1_1.done) return [3
|
|
145
|
+
if (!!actions_1_1.done) return [3, 6];
|
|
160
146
|
action = actions_1_1.value;
|
|
161
|
-
return [4
|
|
147
|
+
return [4, runFieldUpdateAction(action, recordId, userSession)];
|
|
162
148
|
case 4:
|
|
163
149
|
target = _b.sent();
|
|
164
150
|
if (target) {
|
|
@@ -167,19 +153,19 @@ function runFieldUpdateActions(ids, recordId, userSession) {
|
|
|
167
153
|
_b.label = 5;
|
|
168
154
|
case 5:
|
|
169
155
|
actions_1_1 = actions_1.next();
|
|
170
|
-
return [3
|
|
171
|
-
case 6: return [3
|
|
156
|
+
return [3, 3];
|
|
157
|
+
case 6: return [3, 9];
|
|
172
158
|
case 7:
|
|
173
159
|
e_1_1 = _b.sent();
|
|
174
160
|
e_1 = { error: e_1_1 };
|
|
175
|
-
return [3
|
|
161
|
+
return [3, 9];
|
|
176
162
|
case 8:
|
|
177
163
|
try {
|
|
178
164
|
if (actions_1_1 && !actions_1_1.done && (_a = actions_1.return)) _a.call(actions_1);
|
|
179
165
|
}
|
|
180
166
|
finally { if (e_1) throw e_1.error; }
|
|
181
|
-
return [7
|
|
182
|
-
case 9: return [2
|
|
167
|
+
return [7];
|
|
168
|
+
case 9: return [2, targets];
|
|
183
169
|
}
|
|
184
170
|
});
|
|
185
171
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field_updates.js","sourceRoot":"","sources":["../../src/actions/field_updates.ts"],"names":[],"mappings":";;;;AAAA,kCAAmE;AACnE,sCAA4D;AAC5D,sCAA6D;AAE7D,IAAM,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AAEhC,IAAM,aAAa,GAAG,UAAO,MAAW,EAAE,QAAgB,EAAE,WAAgB;;;;;gBAChE,KAAA,MAAM,CAAC,SAAS,CAAA;;yBACf,MAAM,CAAC,CAAP,
|
|
1
|
+
{"version":3,"file":"field_updates.js","sourceRoot":"","sources":["../../src/actions/field_updates.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,3 @@
|
|
|
1
1
|
import { WorkflowNotification } from './types/workflow_notification';
|
|
2
|
-
/**
|
|
3
|
-
*
|
|
4
|
-
* @param ids workflow_notifications'id
|
|
5
|
-
* @param recordId object record id
|
|
6
|
-
* @param userSession
|
|
7
|
-
*/
|
|
8
2
|
export declare function runWorkflowNotifyActions(ids: Array<string>, recordId: any, userSession: any): Promise<void>;
|
|
9
|
-
/**
|
|
10
|
-
*
|
|
11
|
-
* @param workflowNotification
|
|
12
|
-
* @param recordId
|
|
13
|
-
* @param userSession
|
|
14
|
-
*/
|
|
15
3
|
export declare function runWorkflowNotifyAction(workflowNotification: WorkflowNotification, recordId: any, userSession: any): Promise<void>;
|
|
@@ -4,12 +4,6 @@ exports.runWorkflowNotifyAction = exports.runWorkflowNotifyActions = void 0;
|
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var index_1 = require("../index");
|
|
6
6
|
var _ = require("underscore");
|
|
7
|
-
/**
|
|
8
|
-
*
|
|
9
|
-
* @param ids workflow_notifications'id
|
|
10
|
-
* @param recordId object record id
|
|
11
|
-
* @param userSession
|
|
12
|
-
*/
|
|
13
7
|
function runWorkflowNotifyActions(ids, recordId, userSession) {
|
|
14
8
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
15
9
|
var filters, notifications, notifications_1, notifications_1_1, wn, e_1_1;
|
|
@@ -18,10 +12,10 @@ function runWorkflowNotifyActions(ids, recordId, userSession) {
|
|
|
18
12
|
switch (_b.label) {
|
|
19
13
|
case 0:
|
|
20
14
|
if (_.isEmpty(ids) || _.isEmpty(recordId) || _.isEmpty(userSession)) {
|
|
21
|
-
return [2
|
|
15
|
+
return [2];
|
|
22
16
|
}
|
|
23
17
|
filters = [['name', 'in', ids], 'or', ['_id', 'in', ids]];
|
|
24
|
-
return [4
|
|
18
|
+
return [4, (0, index_1.getObject)("workflow_notifications").find({ filters: filters })];
|
|
25
19
|
case 1:
|
|
26
20
|
notifications = _b.sent();
|
|
27
21
|
_b.label = 2;
|
|
@@ -30,38 +24,32 @@ function runWorkflowNotifyActions(ids, recordId, userSession) {
|
|
|
30
24
|
notifications_1 = tslib_1.__values(notifications), notifications_1_1 = notifications_1.next();
|
|
31
25
|
_b.label = 3;
|
|
32
26
|
case 3:
|
|
33
|
-
if (!!notifications_1_1.done) return [3
|
|
27
|
+
if (!!notifications_1_1.done) return [3, 6];
|
|
34
28
|
wn = notifications_1_1.value;
|
|
35
|
-
return [4
|
|
29
|
+
return [4, runWorkflowNotifyAction(wn, recordId, userSession)];
|
|
36
30
|
case 4:
|
|
37
31
|
_b.sent();
|
|
38
32
|
_b.label = 5;
|
|
39
33
|
case 5:
|
|
40
34
|
notifications_1_1 = notifications_1.next();
|
|
41
|
-
return [3
|
|
42
|
-
case 6: return [3
|
|
35
|
+
return [3, 3];
|
|
36
|
+
case 6: return [3, 9];
|
|
43
37
|
case 7:
|
|
44
38
|
e_1_1 = _b.sent();
|
|
45
39
|
e_1 = { error: e_1_1 };
|
|
46
|
-
return [3
|
|
40
|
+
return [3, 9];
|
|
47
41
|
case 8:
|
|
48
42
|
try {
|
|
49
43
|
if (notifications_1_1 && !notifications_1_1.done && (_a = notifications_1.return)) _a.call(notifications_1);
|
|
50
44
|
}
|
|
51
45
|
finally { if (e_1) throw e_1.error; }
|
|
52
|
-
return [7
|
|
53
|
-
case 9: return [2
|
|
46
|
+
return [7];
|
|
47
|
+
case 9: return [2];
|
|
54
48
|
}
|
|
55
49
|
});
|
|
56
50
|
});
|
|
57
51
|
}
|
|
58
52
|
exports.runWorkflowNotifyActions = runWorkflowNotifyActions;
|
|
59
|
-
/**
|
|
60
|
-
*
|
|
61
|
-
* @param workflowNotification
|
|
62
|
-
* @param recordId
|
|
63
|
-
* @param userSession
|
|
64
|
-
*/
|
|
65
53
|
function runWorkflowNotifyAction(workflowNotification, recordId, userSession) {
|
|
66
54
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
67
55
|
var record, objectName, assignedUsers, assignedUserField, userId, spaceId, msgName, msgBody, message, to, assignedUserField_1, assignedUserField_1_1, userField;
|
|
@@ -70,9 +58,9 @@ function runWorkflowNotifyAction(workflowNotification, recordId, userSession) {
|
|
|
70
58
|
switch (_b.label) {
|
|
71
59
|
case 0:
|
|
72
60
|
if (_.isEmpty(workflowNotification) || _.isEmpty(recordId) || _.isEmpty(userSession)) {
|
|
73
|
-
return [2
|
|
61
|
+
return [2];
|
|
74
62
|
}
|
|
75
|
-
return [4
|
|
63
|
+
return [4, (0, index_1.getObject)(workflowNotification.object_name).findOne(recordId, null)];
|
|
76
64
|
case 1:
|
|
77
65
|
record = _b.sent();
|
|
78
66
|
objectName = workflowNotification.object_name;
|
|
@@ -80,10 +68,10 @@ function runWorkflowNotifyAction(workflowNotification, recordId, userSession) {
|
|
|
80
68
|
assignedUserField = workflowNotification.assigned_user_field;
|
|
81
69
|
userId = userSession.userId;
|
|
82
70
|
spaceId = userSession.spaceId;
|
|
83
|
-
return [4
|
|
71
|
+
return [4, (0, index_1.computeFormula)(workflowNotification.title, objectName, recordId, userId, spaceId)];
|
|
84
72
|
case 2:
|
|
85
73
|
msgName = _b.sent();
|
|
86
|
-
return [4
|
|
74
|
+
return [4, (0, index_1.computeFormula)(workflowNotification.body, objectName, recordId, userId, spaceId)];
|
|
87
75
|
case 3:
|
|
88
76
|
msgBody = _b.sent();
|
|
89
77
|
message = {
|
|
@@ -119,13 +107,8 @@ function runWorkflowNotifyAction(workflowNotification, recordId, userSession) {
|
|
|
119
107
|
}
|
|
120
108
|
}
|
|
121
109
|
to = _.uniq(_.flatten(to));
|
|
122
|
-
/**
|
|
123
|
-
* message: {name, body, related_to, related_name, from, space}
|
|
124
|
-
* from: userId
|
|
125
|
-
* to: [userId]
|
|
126
|
-
*/
|
|
127
110
|
Creator.addNotifications(message, userId, to);
|
|
128
|
-
return [2
|
|
111
|
+
return [2];
|
|
129
112
|
}
|
|
130
113
|
});
|
|
131
114
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow_notifications.js","sourceRoot":"","sources":["../../src/actions/workflow_notifications.ts"],"names":[],"mappings":";;;;AAAA,kCAAqD;AAIrD,8BAAiC;
|
|
1
|
+
{"version":3,"file":"workflow_notifications.js","sourceRoot":"","sources":["../../src/actions/workflow_notifications.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,9 +7,8 @@ var formula_1 = require("../formula");
|
|
|
7
7
|
var field_updates_1 = require("./field_updates");
|
|
8
8
|
var workflow_notifications_1 = require("./workflow_notifications");
|
|
9
9
|
var _ = require("underscore");
|
|
10
|
-
// 同一个流程规则触发的级联流程规则最大循环执行次数
|
|
11
10
|
var MAX_COUNT = 5;
|
|
12
|
-
var WorkflowRulesRunner =
|
|
11
|
+
var WorkflowRulesRunner = (function () {
|
|
13
12
|
function WorkflowRulesRunner(config) {
|
|
14
13
|
this.object_name = config.object_name;
|
|
15
14
|
this.event = config.event;
|
|
@@ -22,10 +21,10 @@ var WorkflowRulesRunner = /** @class */ (function () {
|
|
|
22
21
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
23
22
|
return tslib_1.__generator(this, function (_a) {
|
|
24
23
|
switch (_a.label) {
|
|
25
|
-
case 0: return [4
|
|
24
|
+
case 0: return [4, this.runObjectWorkflowRules(this.object_name, this.event, this.record, this.user_session, this.previous_record)];
|
|
26
25
|
case 1:
|
|
27
26
|
_a.sent();
|
|
28
|
-
return [2
|
|
27
|
+
return [2];
|
|
29
28
|
}
|
|
30
29
|
});
|
|
31
30
|
});
|
|
@@ -38,11 +37,10 @@ var WorkflowRulesRunner = /** @class */ (function () {
|
|
|
38
37
|
switch (_c.label) {
|
|
39
38
|
case 0:
|
|
40
39
|
if (!_.include(['insert', 'update'], event) || !record) {
|
|
41
|
-
return [2
|
|
40
|
+
return [2];
|
|
42
41
|
}
|
|
43
42
|
filters = [['object_name', '=', objectName], ['space', '=', record.space], ['active', '=', true]];
|
|
44
43
|
if (fromRuleId) {
|
|
45
|
-
// 如果是级联触发的工作流规则,则要排除掉其原本来自的工作流规则,避免死循环
|
|
46
44
|
filters.push(['_id', '<>', fromRuleId]);
|
|
47
45
|
}
|
|
48
46
|
switch (event) {
|
|
@@ -57,19 +55,19 @@ var WorkflowRulesRunner = /** @class */ (function () {
|
|
|
57
55
|
}
|
|
58
56
|
allTargets = [];
|
|
59
57
|
tempTargets = [];
|
|
60
|
-
return [4
|
|
58
|
+
return [4, (0, index_1.getObject)('workflow_rule').find({ filters: filters })];
|
|
61
59
|
case 1:
|
|
62
60
|
wfRules = _c.sent();
|
|
63
61
|
_loop_1 = function (wfRule) {
|
|
64
62
|
return tslib_1.__generator(this, function (_d) {
|
|
65
63
|
switch (_d.label) {
|
|
66
64
|
case 0:
|
|
67
|
-
if (!(wfRule.trigger_type === 'onCreateOrTriggeringUpdate')) return [3
|
|
68
|
-
return [4
|
|
65
|
+
if (!(wfRule.trigger_type === 'onCreateOrTriggeringUpdate')) return [3, 2];
|
|
66
|
+
return [4, runWFRule(wfRule, record, userSession, previousRecord)];
|
|
69
67
|
case 1:
|
|
70
68
|
tempTargets = _d.sent();
|
|
71
|
-
return [3
|
|
72
|
-
case 2: return [4
|
|
69
|
+
return [3, 4];
|
|
70
|
+
case 2: return [4, runWFRule(wfRule, record, userSession)];
|
|
73
71
|
case 3:
|
|
74
72
|
tempTargets = _d.sent();
|
|
75
73
|
_d.label = 4;
|
|
@@ -78,7 +76,7 @@ var WorkflowRulesRunner = /** @class */ (function () {
|
|
|
78
76
|
target.from_rule_id = wfRule._id;
|
|
79
77
|
});
|
|
80
78
|
allTargets = allTargets.concat(tempTargets);
|
|
81
|
-
return [2
|
|
79
|
+
return [2];
|
|
82
80
|
}
|
|
83
81
|
});
|
|
84
82
|
};
|
|
@@ -88,26 +86,26 @@ var WorkflowRulesRunner = /** @class */ (function () {
|
|
|
88
86
|
wfRules_1 = tslib_1.__values(wfRules), wfRules_1_1 = wfRules_1.next();
|
|
89
87
|
_c.label = 3;
|
|
90
88
|
case 3:
|
|
91
|
-
if (!!wfRules_1_1.done) return [3
|
|
89
|
+
if (!!wfRules_1_1.done) return [3, 6];
|
|
92
90
|
wfRule = wfRules_1_1.value;
|
|
93
|
-
return [5
|
|
91
|
+
return [5, _loop_1(wfRule)];
|
|
94
92
|
case 4:
|
|
95
93
|
_c.sent();
|
|
96
94
|
_c.label = 5;
|
|
97
95
|
case 5:
|
|
98
96
|
wfRules_1_1 = wfRules_1.next();
|
|
99
|
-
return [3
|
|
100
|
-
case 6: return [3
|
|
97
|
+
return [3, 3];
|
|
98
|
+
case 6: return [3, 9];
|
|
101
99
|
case 7:
|
|
102
100
|
e_1_1 = _c.sent();
|
|
103
101
|
e_1 = { error: e_1_1 };
|
|
104
|
-
return [3
|
|
102
|
+
return [3, 9];
|
|
105
103
|
case 8:
|
|
106
104
|
try {
|
|
107
105
|
if (wfRules_1_1 && !wfRules_1_1.done && (_a = wfRules_1.return)) _a.call(wfRules_1);
|
|
108
106
|
}
|
|
109
107
|
finally { if (e_1) throw e_1.error; }
|
|
110
|
-
return [7
|
|
108
|
+
return [7];
|
|
111
109
|
case 9:
|
|
112
110
|
if (fromRuleId) {
|
|
113
111
|
if (!this.counter[fromRuleId]) {
|
|
@@ -115,8 +113,7 @@ var WorkflowRulesRunner = /** @class */ (function () {
|
|
|
115
113
|
}
|
|
116
114
|
this.counter[fromRuleId]++;
|
|
117
115
|
if (this.counter[fromRuleId] > MAX_COUNT) {
|
|
118
|
-
|
|
119
|
-
return [2 /*return*/];
|
|
116
|
+
return [2];
|
|
120
117
|
}
|
|
121
118
|
}
|
|
122
119
|
_c.label = 10;
|
|
@@ -125,30 +122,30 @@ var WorkflowRulesRunner = /** @class */ (function () {
|
|
|
125
122
|
allTargets_1 = tslib_1.__values(allTargets), allTargets_1_1 = allTargets_1.next();
|
|
126
123
|
_c.label = 11;
|
|
127
124
|
case 11:
|
|
128
|
-
if (!!allTargets_1_1.done) return [3
|
|
125
|
+
if (!!allTargets_1_1.done) return [3, 15];
|
|
129
126
|
target = allTargets_1_1.value;
|
|
130
|
-
return [4
|
|
127
|
+
return [4, (0, index_1.getObject)(target.object_name).findOne(target.record_id, null)];
|
|
131
128
|
case 12:
|
|
132
129
|
targetRecord = _c.sent();
|
|
133
|
-
return [4
|
|
130
|
+
return [4, this.runObjectWorkflowRules(target.object_name, event, targetRecord, userSession, target.previous_record, target.from_rule_id)];
|
|
134
131
|
case 13:
|
|
135
132
|
_c.sent();
|
|
136
133
|
_c.label = 14;
|
|
137
134
|
case 14:
|
|
138
135
|
allTargets_1_1 = allTargets_1.next();
|
|
139
|
-
return [3
|
|
140
|
-
case 15: return [3
|
|
136
|
+
return [3, 11];
|
|
137
|
+
case 15: return [3, 18];
|
|
141
138
|
case 16:
|
|
142
139
|
e_2_1 = _c.sent();
|
|
143
140
|
e_2 = { error: e_2_1 };
|
|
144
|
-
return [3
|
|
141
|
+
return [3, 18];
|
|
145
142
|
case 17:
|
|
146
143
|
try {
|
|
147
144
|
if (allTargets_1_1 && !allTargets_1_1.done && (_b = allTargets_1.return)) _b.call(allTargets_1);
|
|
148
145
|
}
|
|
149
146
|
finally { if (e_2) throw e_2.error; }
|
|
150
|
-
return [7
|
|
151
|
-
case 18: return [2
|
|
147
|
+
return [7];
|
|
148
|
+
case 18: return [2];
|
|
152
149
|
}
|
|
153
150
|
});
|
|
154
151
|
});
|
|
@@ -156,24 +153,6 @@ var WorkflowRulesRunner = /** @class */ (function () {
|
|
|
156
153
|
return WorkflowRulesRunner;
|
|
157
154
|
}());
|
|
158
155
|
exports.WorkflowRulesRunner = WorkflowRulesRunner;
|
|
159
|
-
// export async function runObjectWorkflowRulesOnCreateOnly(objectName, record, userSession) {
|
|
160
|
-
// const wfRules = await getObject('workflow_rule').find({ filters: [['object_name', '=', objectName], ['space', '=', record.space], ['active', '=', true], ['trigger_type', '=', 'onCreateOnly']] });
|
|
161
|
-
// for (const wfRule of wfRules) {
|
|
162
|
-
// await runWFRule(wfRule, record, userSession)
|
|
163
|
-
// }
|
|
164
|
-
// }
|
|
165
|
-
// export async function runObjectWorkflowRulesOnAllChanges(objectName, record, userSession) {
|
|
166
|
-
// const wfRules = await getObject('workflow_rule').find({ filters: [['object_name', '=', objectName], ['space', '=', record.space], ['active', '=', true], ['trigger_type', '=', 'onAllChanges']] });
|
|
167
|
-
// for (const wfRule of wfRules) {
|
|
168
|
-
// await runWFRule(wfRule, record, userSession)
|
|
169
|
-
// }
|
|
170
|
-
// }
|
|
171
|
-
// export async function runObjectWorkflowRulesOnCreateOrTriggeringUpdate(objectName, record, userSession, previousRecord) {
|
|
172
|
-
// const wfRules = await getObject('workflow_rule').find({ filters: [['object_name', '=', objectName], ['space', '=', record.space], ['active', '=', true], ['trigger_type', '=', 'onCreateOrTriggeringUpdate']] });
|
|
173
|
-
// for (const wfRule of wfRules) {
|
|
174
|
-
// await runWFRule(wfRule, record, userSession, previousRecord)
|
|
175
|
-
// }
|
|
176
|
-
// }
|
|
177
156
|
function runWFRule(rule, record, userSession, previousRecord) {
|
|
178
157
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
179
158
|
var previousIsTrue, targets, isTrue;
|
|
@@ -182,25 +161,25 @@ function runWFRule(rule, record, userSession, previousRecord) {
|
|
|
182
161
|
case 0:
|
|
183
162
|
previousIsTrue = false;
|
|
184
163
|
targets = [];
|
|
185
|
-
if (!previousRecord) return [3
|
|
186
|
-
return [4
|
|
164
|
+
if (!previousRecord) return [3, 2];
|
|
165
|
+
return [4, (0, formula_1.computeFormula)(rule.formula, rule.object_name, previousRecord, userSession === null || userSession === void 0 ? void 0 : userSession.userId, userSession === null || userSession === void 0 ? void 0 : userSession.spaceId)];
|
|
187
166
|
case 1:
|
|
188
167
|
previousIsTrue = _a.sent();
|
|
189
168
|
_a.label = 2;
|
|
190
169
|
case 2:
|
|
191
|
-
if (!!previousIsTrue) return [3
|
|
192
|
-
return [4
|
|
170
|
+
if (!!previousIsTrue) return [3, 6];
|
|
171
|
+
return [4, (0, formula_1.computeFormula)(rule.formula, rule.object_name, record, userSession === null || userSession === void 0 ? void 0 : userSession.userId, userSession === null || userSession === void 0 ? void 0 : userSession.spaceId)];
|
|
193
172
|
case 3:
|
|
194
173
|
isTrue = _a.sent();
|
|
195
|
-
if (!isTrue) return [3
|
|
196
|
-
return [4
|
|
174
|
+
if (!isTrue) return [3, 6];
|
|
175
|
+
return [4, (0, field_updates_1.runFieldUpdateActions)(rule.updates_field_actions, record._id, userSession)];
|
|
197
176
|
case 4:
|
|
198
177
|
targets = _a.sent();
|
|
199
|
-
return [4
|
|
178
|
+
return [4, (0, workflow_notifications_1.runWorkflowNotifyActions)(rule.workflow_notifications_actions, record._id, userSession)];
|
|
200
179
|
case 5:
|
|
201
180
|
_a.sent();
|
|
202
181
|
_a.label = 6;
|
|
203
|
-
case 6: return [2
|
|
182
|
+
case 6: return [2, targets];
|
|
204
183
|
}
|
|
205
184
|
});
|
|
206
185
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow_rule.js","sourceRoot":"","sources":["../../src/actions/workflow_rule.ts"],"names":[],"mappings":";;;;AAAA,kCAAqC;AACrC,sCAA2C;AAG3C,iDAAuD;AAEvD,mEAAmE;AACnE,8BAAiC;
|
|
1
|
+
{"version":3,"file":"workflow_rule.js","sourceRoot":"","sources":["../../src/actions/workflow_rule.ts"],"names":[],"mappings":"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"}
|
package/lib/broker.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Broker = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
-
var Broker =
|
|
5
|
+
var Broker = (function () {
|
|
6
6
|
function Broker() {
|
|
7
7
|
}
|
|
8
8
|
Broker.prototype.init = function (broker) {
|
|
@@ -29,8 +29,8 @@ var Broker = /** @class */ (function () {
|
|
|
29
29
|
if (!this.broker) {
|
|
30
30
|
throw new Error("broker is not initialized");
|
|
31
31
|
}
|
|
32
|
-
return [4
|
|
33
|
-
case 1: return [2
|
|
32
|
+
return [4, (_a = this.broker).call.apply(_a, tslib_1.__spreadArray([method], tslib_1.__read(args), false))];
|
|
33
|
+
case 1: return [2, _b.sent()];
|
|
34
34
|
}
|
|
35
35
|
});
|
|
36
36
|
});
|
|
@@ -44,8 +44,8 @@ var Broker = /** @class */ (function () {
|
|
|
44
44
|
var _a;
|
|
45
45
|
return tslib_1.__generator(this, function (_b) {
|
|
46
46
|
switch (_b.label) {
|
|
47
|
-
case 0: return [4
|
|
48
|
-
case 1: return [2
|
|
47
|
+
case 0: return [4, (_a = this.broker).emit.apply(_a, tslib_1.__spreadArray([name], tslib_1.__read(args), false))];
|
|
48
|
+
case 1: return [2, _b.sent()];
|
|
49
49
|
}
|
|
50
50
|
});
|
|
51
51
|
});
|
package/lib/broker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broker.js","sourceRoot":"","sources":["../src/broker.ts"],"names":[],"mappings":";;;;AAAA;IAAA;IAyBA,CAAC;IAtBG,qBAAI,GAAJ,UAAK,MAAW;QACZ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,2BAAU,GAAV;;QACI,OAAO,MAAA,IAAI,CAAC,MAAM,0CAAE,OAAO,CAAC;IAChC,CAAC;IAED,4BAAW,GAAX;;QACI,OAAO,MAAA,IAAI,CAAC,UAAU,EAAE,0CAAE,QAAQ,CAAC;IACvC,CAAC;IAEK,qBAAI,GAAV,UAAW,MAAM;QAAE,cAAO;aAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;YAAP,6BAAO;;;;;;;wBACtB,IAAG,CAAC,IAAI,CAAC,MAAM,EAAC;4BACZ,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;yBAChD;wBACM,
|
|
1
|
+
{"version":3,"file":"broker.js","sourceRoot":"","sources":["../src/broker.ts"],"names":[],"mappings":";;;;AAAA;IAAA;IAyBA,CAAC;IAtBG,qBAAI,GAAJ,UAAK,MAAW;QACZ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,2BAAU,GAAV;;QACI,OAAO,MAAA,IAAI,CAAC,MAAM,0CAAE,OAAO,CAAC;IAChC,CAAC;IAED,4BAAW,GAAX;;QACI,OAAO,MAAA,IAAI,CAAC,UAAU,EAAE,0CAAE,QAAQ,CAAC;IACvC,CAAC;IAEK,qBAAI,GAAV,UAAW,MAAM;QAAE,cAAO;aAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;YAAP,6BAAO;;;;;;;wBACtB,IAAG,CAAC,IAAI,CAAC,MAAM,EAAC;4BACZ,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;yBAChD;wBACM,WAAM,CAAA,KAAA,IAAI,CAAC,MAAM,CAAA,CAAC,IAAI,kCAAC,MAAM,kBAAK,IAAI,YAAC;4BAA9C,WAAO,SAAuC,EAAC;;;;KAClD;IAEK,qBAAI,GAAV,UAAW,IAAI;QAAE,cAAO;aAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;YAAP,6BAAO;;;;;;4BACb,WAAM,CAAA,KAAA,IAAI,CAAC,MAAM,CAAA,CAAC,IAAI,kCAAC,IAAI,kBAAK,IAAI,YAAC;4BAA5C,WAAO,SAAqC,EAAC;;;;KAChD;IACL,aAAC;AAAD,CAAC,AAzBD,IAyBC;AAzBY,wBAAM"}
|