mol_wire_lib 1.0.173 → 1.0.176

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/node.js CHANGED
@@ -586,9 +586,12 @@ var $;
586
586
  }
587
587
  static sync() {
588
588
  while (this.planning.size) {
589
- const fibers = this.planning;
590
- this.planning = new Set;
591
- for (const fiber of fibers) {
589
+ for (const fiber of this.planning) {
590
+ this.planning.delete(fiber);
591
+ if (fiber.cursor >= 0)
592
+ continue;
593
+ if (fiber.cursor === $mol_wire_cursor.final)
594
+ continue;
592
595
  fiber.refresh();
593
596
  }
594
597
  }
@@ -616,12 +619,13 @@ var $;
616
619
  field() {
617
620
  return this.task.name + '()';
618
621
  }
619
- constructor(id, task, host, ...args) {
622
+ constructor(id, task, host, args) {
620
623
  super();
621
624
  this.task = task;
622
625
  this.host = host;
623
- this.data.push(...args);
624
- this.pub_from = this.sub_from = args.length;
626
+ if (args)
627
+ this.data.push(...args);
628
+ this.pub_from = this.sub_from = args?.length ?? 0;
625
629
  this[Symbol.toStringTag] = id;
626
630
  }
627
631
  plan() {
@@ -682,7 +686,7 @@ var $;
682
686
  result = this.task.call(this.host, this.data[0]);
683
687
  break;
684
688
  default:
685
- result = this.task.call(this.host, ...this.data.slice(0, this.pub_from));
689
+ result = this.task.call(this.host, ...this.args);
686
690
  break;
687
691
  }
688
692
  if (result instanceof Promise) {
@@ -896,7 +900,7 @@ var $;
896
900
  break reuse;
897
901
  return existen;
898
902
  }
899
- return new $mol_wire_task(`${host?.[Symbol.toStringTag] ?? host}.${task.name}(#)`, task, host, ...args);
903
+ return new $mol_wire_task(`${host?.[Symbol.toStringTag] ?? host}.${task.name}(#)`, task, host, args);
900
904
  };
901
905
  }
902
906
  complete() {
@@ -1021,7 +1025,7 @@ var $;
1021
1025
  else {
1022
1026
  dict = (host ?? task)[field] = new Map();
1023
1027
  }
1024
- fiber = new $mol_wire_atom(key, task, host, ...args);
1028
+ fiber = new $mol_wire_atom(key, task, host, args);
1025
1029
  dict.set(key, fiber);
1026
1030
  return fiber;
1027
1031
  };
@@ -1032,13 +1036,13 @@ var $;
1032
1036
  if (existen)
1033
1037
  return existen;
1034
1038
  const key = `${host?.[Symbol.toStringTag] ?? host}.${field}`;
1035
- const fiber = new $mol_wire_atom(key, task, host, ...args);
1039
+ const fiber = new $mol_wire_atom(key, task, host, args);
1036
1040
  (host ?? task)[field] = fiber;
1037
1041
  return fiber;
1038
1042
  };
1039
1043
  }
1040
1044
  }
1041
- resync(...args) {
1045
+ resync(args) {
1042
1046
  return this.put(this.task.call(this.host, ...args));
1043
1047
  }
1044
1048
  once() {
@@ -1196,7 +1200,7 @@ var $;
1196
1200
  let atom = persist(this, args.slice(0, keys));
1197
1201
  if (args.length <= keys || args[keys] === undefined) {
1198
1202
  if (!$mol_wire_fiber.warm)
1199
- return atom.sync();
1203
+ return atom.result();
1200
1204
  if ($mol_wire_auto() instanceof $mol_wire_task) {
1201
1205
  return atom.once();
1202
1206
  }
@@ -1204,7 +1208,7 @@ var $;
1204
1208
  return atom.sync();
1205
1209
  }
1206
1210
  }
1207
- return atom.resync(...args);
1211
+ return atom.resync(args);
1208
1212
  };
1209
1213
  Object.defineProperty(wrapper, 'name', { value: func.name + ' ' });
1210
1214
  Object.assign(wrapper, { orig: func });