@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.mjs CHANGED
@@ -46,6 +46,7 @@ var SignalBroker = class _SignalBroker {
46
46
  constructor() {
47
47
  this.debug = false;
48
48
  this.verbose = false;
49
+ // TODO: Signals should be a class with a the observers, registered flag and other data.
49
50
  this.signalObservers = /* @__PURE__ */ new Map();
50
51
  this.emitStacks = /* @__PURE__ */ new Map();
51
52
  this.addSignal("meta.signal_broker.added");
@@ -111,13 +112,27 @@ var SignalBroker = class _SignalBroker {
111
112
  "Executes queued signals and clears the stack"
112
113
  ).doOn("meta.process_signal_queue_requested").emits("meta.signal_broker.queue_empty");
113
114
  this.getSignalsTask = Cadenza.createMetaTask("Get signals", (ctx) => {
115
+ const uniqueSignals = Array.from(this.signalObservers.keys()).filter(
116
+ (s) => !s.includes(":")
117
+ );
118
+ const processedSignals = uniqueSignals.map((signal) => ({
119
+ signal,
120
+ data: {
121
+ registered: this.signalObservers.get(signal)?.registered ?? false
122
+ }
123
+ }));
114
124
  return {
115
- __signals: Array.from(this.signalObservers.entries()).map(
116
- ([signal, data]) => ({ signal, data })
117
- ),
125
+ __signals: processedSignals,
118
126
  ...ctx
119
127
  };
120
128
  });
129
+ this.registerSignalTask = Cadenza.createMetaTask(
130
+ "Register signal",
131
+ (ctx) => {
132
+ const { __signalName } = ctx;
133
+ this.signalObservers.get(__signalName).registered = true;
134
+ }
135
+ ).doOn("meta.signal.registered");
121
136
  }
122
137
  /**
123
138
  * Observes a signal with a routine/task.
@@ -157,6 +172,7 @@ var SignalBroker = class _SignalBroker {
157
172
  if (!this.emitStacks.has(execId)) this.emitStacks.set(execId, /* @__PURE__ */ new Map());
158
173
  const stack = this.emitStacks.get(execId);
159
174
  stack.set(signal, context);
175
+ this.addSignal(signal);
160
176
  let executed = false;
161
177
  try {
162
178
  executed = this.execute(signal, context);
@@ -947,8 +963,7 @@ var GraphNode = class _GraphNode extends SignalEmitter {
947
963
  });
948
964
  }
949
965
  }
950
- emitWithMetadata(signal, ctx) {
951
- const data = { ...ctx };
966
+ emitWithMetadata(signal, data) {
952
967
  if (!this.task?.isHidden) {
953
968
  data.__signalEmission = {
954
969
  taskName: this.task.name,
@@ -964,8 +979,7 @@ var GraphNode = class _GraphNode extends SignalEmitter {
964
979
  }
965
980
  this.emit(signal, data);
966
981
  }
967
- emitMetricsWithMetadata(signal, ctx) {
968
- const data = { ...ctx };
982
+ emitMetricsWithMetadata(signal, data) {
969
983
  if (!this.task?.isHidden) {
970
984
  data.__signalEmission = {
971
985
  taskName: this.task.name,