mol_wire_lib 1.0.201 → 1.0.204

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
@@ -1013,37 +1013,31 @@ var $;
1013
1013
  var $;
1014
1014
  (function ($) {
1015
1015
  class $mol_wire_atom extends $mol_wire_fiber {
1016
- static getter(task, keys) {
1016
+ static solo(host, task) {
1017
1017
  const field = task.name + '()';
1018
- if (keys) {
1019
- return function $mol_wire_atom_get(host, args) {
1020
- let dict, key, fiber;
1021
- key = `${host?.[Symbol.toStringTag] ?? host}.${task.name}(${args.map(v => $mol_key(v)).join(',')})`;
1022
- dict = Object.getOwnPropertyDescriptor(host ?? task, field)?.value;
1023
- if (dict) {
1024
- const existen = dict.get(key);
1025
- if (existen)
1026
- return existen;
1027
- }
1028
- else {
1029
- dict = (host ?? task)[field] = new Map();
1030
- }
1031
- fiber = new $mol_wire_atom(key, task, host, args);
1032
- dict.set(key, fiber);
1033
- return fiber;
1034
- };
1018
+ const existen = Object.getOwnPropertyDescriptor(host ?? task, field)?.value;
1019
+ if (existen)
1020
+ return existen;
1021
+ const key = `${host?.[Symbol.toStringTag] ?? host}.${field}`;
1022
+ const fiber = new $mol_wire_atom(key, task, host, []);
1023
+ (host ?? task)[field] = fiber;
1024
+ return fiber;
1025
+ }
1026
+ static plex(host, task, key) {
1027
+ const field = task.name + '()';
1028
+ let dict = Object.getOwnPropertyDescriptor(host ?? task, field)?.value;
1029
+ const id = `${host?.[Symbol.toStringTag] ?? host}.${task.name}(${$mol_key(key)})`;
1030
+ if (dict) {
1031
+ const existen = dict.get(id);
1032
+ if (existen)
1033
+ return existen;
1035
1034
  }
1036
1035
  else {
1037
- return function $mol_wire_atom_get(host, args) {
1038
- const existen = Object.getOwnPropertyDescriptor(host ?? task, field)?.value;
1039
- if (existen)
1040
- return existen;
1041
- const key = `${host?.[Symbol.toStringTag] ?? host}.${field}`;
1042
- const fiber = new $mol_wire_atom(key, task, host, args);
1043
- (host ?? task)[field] = fiber;
1044
- return fiber;
1045
- };
1036
+ dict = (host ?? task)[field] = new Map();
1046
1037
  }
1038
+ const fiber = new $mol_wire_atom(id, task, host, [key]);
1039
+ dict.set(id, fiber);
1040
+ return fiber;
1047
1041
  }
1048
1042
  static watching = new Set();
1049
1043
  static watch() {
@@ -1220,33 +1214,57 @@ var $;
1220
1214
  //mol/wire/async/async.ts
1221
1215
  ;
1222
1216
  "use strict";
1217
+ //mol/type/error/error.ts
1218
+ ;
1219
+ "use strict";
1223
1220
  var $;
1224
1221
  (function ($) {
1225
- function $mol_wire_mem(keys) {
1226
- const wrap = $mol_wire_mem_func(keys);
1227
- return (host, field, descr) => {
1228
- if (!descr)
1229
- descr = Reflect.getOwnPropertyDescriptor(host, field);
1230
- const orig = descr?.value ?? host[field];
1231
- const sup = Reflect.getPrototypeOf(host);
1232
- if (typeof sup[field] === 'function') {
1233
- Object.defineProperty(orig, 'name', { value: sup[field].name });
1222
+ function $mol_wire_solo(host, field, descr) {
1223
+ const orig = descr.value;
1224
+ const sup = Reflect.getPrototypeOf(host);
1225
+ if (typeof sup[field] === 'function') {
1226
+ Object.defineProperty(orig, 'name', { value: sup[field].name });
1227
+ }
1228
+ const descr2 = {
1229
+ ...descr,
1230
+ value: function (...args) {
1231
+ let atom = $mol_wire_atom.solo(this, orig);
1232
+ if ((args.length === 0) || (args[0] === undefined)) {
1233
+ if (!$mol_wire_fiber.warm)
1234
+ return atom.result();
1235
+ if ($mol_wire_auto() instanceof $mol_wire_task) {
1236
+ return atom.once();
1237
+ }
1238
+ else {
1239
+ return atom.sync();
1240
+ }
1241
+ }
1242
+ return atom.resync(args);
1234
1243
  }
1235
- const descr2 = {
1236
- ...descr,
1237
- value: wrap(orig)
1238
- };
1239
- Reflect.defineProperty(host, field, descr2);
1240
- return descr2;
1241
1244
  };
1245
+ Reflect.defineProperty(descr2.value, 'name', { value: orig.name + ' ' });
1246
+ Object.assign(descr2.value, { orig });
1247
+ Reflect.defineProperty(host, field, descr2);
1248
+ return descr2;
1242
1249
  }
1243
- $.$mol_wire_mem = $mol_wire_mem;
1244
- function $mol_wire_mem_func(keys) {
1245
- return (func) => {
1246
- const persist = $mol_wire_atom.getter(func, keys);
1247
- const wrapper = function (...args) {
1248
- let atom = persist(this, args.slice(0, keys));
1249
- if (args.length <= keys || args[keys] === undefined) {
1250
+ $.$mol_wire_solo = $mol_wire_solo;
1251
+ })($ || ($ = {}));
1252
+ //mol/wire/solo/solo.ts
1253
+ ;
1254
+ "use strict";
1255
+ var $;
1256
+ (function ($) {
1257
+ function $mol_wire_plex(host, field, descr) {
1258
+ const orig = descr.value;
1259
+ const sup = Reflect.getPrototypeOf(host);
1260
+ if (typeof sup[field] === 'function') {
1261
+ Object.defineProperty(orig, 'name', { value: sup[field].name });
1262
+ }
1263
+ const descr2 = {
1264
+ ...descr,
1265
+ value: function (...args) {
1266
+ let atom = $mol_wire_atom.plex(this, orig, args[0]);
1267
+ if ((args.length === 1) || (args[1] === undefined)) {
1250
1268
  if (!$mol_wire_fiber.warm)
1251
1269
  return atom.result();
1252
1270
  if ($mol_wire_auto() instanceof $mol_wire_task) {
@@ -1257,15 +1275,16 @@ var $;
1257
1275
  }
1258
1276
  }
1259
1277
  return atom.resync(args);
1260
- };
1261
- Object.defineProperty(wrapper, 'name', { value: func.name + ' ' });
1262
- Object.assign(wrapper, { orig: func });
1263
- return wrapper;
1278
+ }
1264
1279
  };
1280
+ Reflect.defineProperty(descr2.value, 'name', { value: orig.name + ' ' });
1281
+ Object.assign(descr2.value, { orig });
1282
+ Reflect.defineProperty(host, field, descr2);
1283
+ return descr2;
1265
1284
  }
1266
- $.$mol_wire_mem_func = $mol_wire_mem_func;
1285
+ $.$mol_wire_plex = $mol_wire_plex;
1267
1286
  })($ || ($ = {}));
1268
- //mol/wire/mem/mem.ts
1287
+ //mol/wire/plex/plex.ts
1269
1288
  ;
1270
1289
  "use strict";
1271
1290
  var $;
@@ -1287,16 +1306,15 @@ var $;
1287
1306
  if (!descr)
1288
1307
  descr = Reflect.getOwnPropertyDescriptor(host, field);
1289
1308
  const _get = descr?.get || $mol_const(descr?.value);
1290
- const persist = $mol_wire_atom.getter(_get, 0);
1291
1309
  const _set = descr?.set || function (next) {
1292
- persist(this, []).put(next);
1310
+ $mol_wire_atom.solo(this, _get).put(next);
1293
1311
  };
1294
1312
  const sup = Reflect.getPrototypeOf(host);
1295
1313
  const sup_descr = Reflect.getOwnPropertyDescriptor(sup, field);
1296
1314
  Object.defineProperty(_get, 'name', { value: sup_descr?.get?.name ?? field });
1297
1315
  Object.defineProperty(_set, 'name', { value: sup_descr?.set?.name ?? field });
1298
1316
  function get() {
1299
- return persist(this, []).sync();
1317
+ return $mol_wire_atom.solo(this, _get).sync();
1300
1318
  }
1301
1319
  const temp = $mol_wire_task.getter(_set);
1302
1320
  function set(next) {
@@ -1326,17 +1344,16 @@ var $;
1326
1344
  continue;
1327
1345
  const get = descr.get ?? (() => descr.value);
1328
1346
  const set = descr.set ?? (next => descr.value = next);
1329
- const persist = $mol_wire_atom.getter(get, 0);
1330
1347
  Reflect.defineProperty(obj, field, {
1331
1348
  configurable: true,
1332
1349
  enumerable: descr.enumerable,
1333
1350
  get() {
1334
- const atom = persist(obj, []);
1351
+ const atom = $mol_wire_atom.solo(obj, get);
1335
1352
  atom.watch();
1336
1353
  return atom.sync();
1337
1354
  },
1338
1355
  set(next) {
1339
- const atom = persist(obj, []);
1356
+ const atom = $mol_wire_atom.solo(obj, get);
1340
1357
  set.call(this, next);
1341
1358
  atom.refresh();
1342
1359
  },
@@ -1523,10 +1540,8 @@ var $;
1523
1540
  "use strict";
1524
1541
  var $;
1525
1542
  (function ($) {
1526
- $.$mol_mem = $mol_wire_mem(0);
1527
- $.$mol_mem_key = $mol_wire_mem(1);
1528
- $.$mol_mem_key2 = $mol_wire_mem(2);
1529
- $.$mol_mem_key3 = $mol_wire_mem(3);
1543
+ $.$mol_mem = $mol_wire_solo;
1544
+ $.$mol_mem_key = $mol_wire_plex;
1530
1545
  })($ || ($ = {}));
1531
1546
  //mol/mem/mem.ts
1532
1547
  ;