@cadenza.io/core 3.4.1 → 3.5.1
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/index.d.mts +3 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.js +21 -7
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +21 -7
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -229,8 +229,8 @@ declare class GraphNode extends SignalEmitter implements Graph {
|
|
|
229
229
|
workAsync(): Promise<void>;
|
|
230
230
|
executeAsync(): Promise<GraphNode[]>;
|
|
231
231
|
work(): TaskResult | Promise<TaskResult>;
|
|
232
|
-
emitWithMetadata(signal: string,
|
|
233
|
-
emitMetricsWithMetadata(signal: string,
|
|
232
|
+
emitWithMetadata(signal: string, data: AnyObject): void;
|
|
233
|
+
emitMetricsWithMetadata(signal: string, data: AnyObject): void;
|
|
234
234
|
onProgress(progress: number): void;
|
|
235
235
|
postProcess(): GraphNode[] | Promise<GraphNode[]>;
|
|
236
236
|
postProcessAsync(nextNodes: Promise<GraphNode[]>): Promise<GraphNode[]>;
|
|
@@ -673,6 +673,7 @@ declare class SignalBroker {
|
|
|
673
673
|
metaRunner: GraphRunner | undefined;
|
|
674
674
|
clearSignalsTask: Task | undefined;
|
|
675
675
|
getSignalsTask: Task | undefined;
|
|
676
|
+
registerSignalTask: Task | undefined;
|
|
676
677
|
signalObservers: Map<string, {
|
|
677
678
|
fn: (runner: GraphRunner, tasks: (Task | GraphRoutine)[], context: AnyObject) => void;
|
|
678
679
|
tasks: Set<Task | GraphRoutine>;
|
package/dist/index.d.ts
CHANGED
|
@@ -229,8 +229,8 @@ declare class GraphNode extends SignalEmitter implements Graph {
|
|
|
229
229
|
workAsync(): Promise<void>;
|
|
230
230
|
executeAsync(): Promise<GraphNode[]>;
|
|
231
231
|
work(): TaskResult | Promise<TaskResult>;
|
|
232
|
-
emitWithMetadata(signal: string,
|
|
233
|
-
emitMetricsWithMetadata(signal: string,
|
|
232
|
+
emitWithMetadata(signal: string, data: AnyObject): void;
|
|
233
|
+
emitMetricsWithMetadata(signal: string, data: AnyObject): void;
|
|
234
234
|
onProgress(progress: number): void;
|
|
235
235
|
postProcess(): GraphNode[] | Promise<GraphNode[]>;
|
|
236
236
|
postProcessAsync(nextNodes: Promise<GraphNode[]>): Promise<GraphNode[]>;
|
|
@@ -673,6 +673,7 @@ declare class SignalBroker {
|
|
|
673
673
|
metaRunner: GraphRunner | undefined;
|
|
674
674
|
clearSignalsTask: Task | undefined;
|
|
675
675
|
getSignalsTask: Task | undefined;
|
|
676
|
+
registerSignalTask: Task | undefined;
|
|
676
677
|
signalObservers: Map<string, {
|
|
677
678
|
fn: (runner: GraphRunner, tasks: (Task | GraphRoutine)[], context: AnyObject) => void;
|
|
678
679
|
tasks: Set<Task | GraphRoutine>;
|
package/dist/index.js
CHANGED
|
@@ -83,6 +83,7 @@ var SignalBroker = class _SignalBroker {
|
|
|
83
83
|
constructor() {
|
|
84
84
|
this.debug = false;
|
|
85
85
|
this.verbose = false;
|
|
86
|
+
// TODO: Signals should be a class with a the observers, registered flag and other data.
|
|
86
87
|
this.signalObservers = /* @__PURE__ */ new Map();
|
|
87
88
|
this.emitStacks = /* @__PURE__ */ new Map();
|
|
88
89
|
this.addSignal("meta.signal_broker.added");
|
|
@@ -148,13 +149,27 @@ var SignalBroker = class _SignalBroker {
|
|
|
148
149
|
"Executes queued signals and clears the stack"
|
|
149
150
|
).doOn("meta.process_signal_queue_requested").emits("meta.signal_broker.queue_empty");
|
|
150
151
|
this.getSignalsTask = Cadenza.createMetaTask("Get signals", (ctx) => {
|
|
152
|
+
const uniqueSignals = Array.from(this.signalObservers.keys()).filter(
|
|
153
|
+
(s) => !s.includes(":")
|
|
154
|
+
);
|
|
155
|
+
const processedSignals = uniqueSignals.map((signal) => ({
|
|
156
|
+
signal,
|
|
157
|
+
data: {
|
|
158
|
+
registered: this.signalObservers.get(signal)?.registered ?? false
|
|
159
|
+
}
|
|
160
|
+
}));
|
|
151
161
|
return {
|
|
152
|
-
__signals:
|
|
153
|
-
([signal, data]) => ({ signal, data })
|
|
154
|
-
),
|
|
162
|
+
__signals: processedSignals,
|
|
155
163
|
...ctx
|
|
156
164
|
};
|
|
157
165
|
});
|
|
166
|
+
this.registerSignalTask = Cadenza.createMetaTask(
|
|
167
|
+
"Register signal",
|
|
168
|
+
(ctx) => {
|
|
169
|
+
const { __signalName } = ctx;
|
|
170
|
+
this.signalObservers.get(__signalName).registered = true;
|
|
171
|
+
}
|
|
172
|
+
).doOn("meta.signal.registered");
|
|
158
173
|
}
|
|
159
174
|
/**
|
|
160
175
|
* Observes a signal with a routine/task.
|
|
@@ -194,6 +209,7 @@ var SignalBroker = class _SignalBroker {
|
|
|
194
209
|
if (!this.emitStacks.has(execId)) this.emitStacks.set(execId, /* @__PURE__ */ new Map());
|
|
195
210
|
const stack = this.emitStacks.get(execId);
|
|
196
211
|
stack.set(signal, context);
|
|
212
|
+
this.addSignal(signal);
|
|
197
213
|
let executed = false;
|
|
198
214
|
try {
|
|
199
215
|
executed = this.execute(signal, context);
|
|
@@ -984,8 +1000,7 @@ var GraphNode = class _GraphNode extends SignalEmitter {
|
|
|
984
1000
|
});
|
|
985
1001
|
}
|
|
986
1002
|
}
|
|
987
|
-
emitWithMetadata(signal,
|
|
988
|
-
const data = { ...ctx };
|
|
1003
|
+
emitWithMetadata(signal, data) {
|
|
989
1004
|
if (!this.task?.isHidden) {
|
|
990
1005
|
data.__signalEmission = {
|
|
991
1006
|
taskName: this.task.name,
|
|
@@ -1001,8 +1016,7 @@ var GraphNode = class _GraphNode extends SignalEmitter {
|
|
|
1001
1016
|
}
|
|
1002
1017
|
this.emit(signal, data);
|
|
1003
1018
|
}
|
|
1004
|
-
emitMetricsWithMetadata(signal,
|
|
1005
|
-
const data = { ...ctx };
|
|
1019
|
+
emitMetricsWithMetadata(signal, data) {
|
|
1006
1020
|
if (!this.task?.isHidden) {
|
|
1007
1021
|
data.__signalEmission = {
|
|
1008
1022
|
taskName: this.task.name,
|