jssm 5.162.22 → 5.162.23

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.
@@ -24226,7 +24226,7 @@ function fslSemanticSpans(text) {
24226
24226
  * Useful for runtime diagnostics and for embedding in serialized machine
24227
24227
  * snapshots so that deserializers can detect version-skew.
24228
24228
  */
24229
- const version = "5.162.22";
24229
+ const version = "5.162.23";
24230
24230
 
24231
24231
  /**
24232
24232
  * The FSL Markdown fence convention parser — pure, host-agnostic logic that
@@ -28166,7 +28166,7 @@ class Machine {
28166
28166
  this._state = newState;
28167
28167
  this._state_id = newStateId;
28168
28168
  if (data_changed) {
28169
- this._data = hook_args.data;
28169
+ this._data = hook_args.next_data;
28170
28170
  }
28171
28171
  else if (dataProvided) {
28172
28172
  this._data = newData;
@@ -29759,12 +29759,23 @@ function _update_hook_fields(hook_args, res) {
29759
29759
  if (Object.prototype.hasOwnProperty.call(res, 'state') && res.state !== undefined) {
29760
29760
  hook_args.to = res.state;
29761
29761
  }
29762
+ // Two channels (StoneCypher/fsl#1948): `data` overrides the value observed by
29763
+ // later hooks in this chain AND is the default committed value; `next_data`
29764
+ // overrides only the committed value. So `data` sets both, then an explicit
29765
+ // `next_data` overrides the commit channel. transition_impl commits
29766
+ // hook_args.next_data. hasOwnProperty (not truthiness) so a falsy override
29767
+ // (false/null/0/''/undefined) still commits (fsl#1264/#935).
29768
+ let changed = false;
29762
29769
  if (Object.prototype.hasOwnProperty.call(res, 'data')) {
29763
29770
  hook_args.data = res.data;
29771
+ hook_args.next_data = res.data;
29772
+ changed = true;
29773
+ }
29774
+ if (Object.prototype.hasOwnProperty.call(res, 'next_data')) {
29764
29775
  hook_args.next_data = res.next_data;
29765
- return true;
29776
+ changed = true;
29766
29777
  }
29767
- return false;
29778
+ return changed;
29768
29779
  }
29769
29780
  /**
29770
29781
  *