mol_wire_lib 1.0.202 → 1.0.205
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.d.ts +22 -41
- package/node.deps.json +1 -1
- package/node.esm.js +83 -65
- package/node.esm.js.map +1 -1
- package/node.js +83 -65
- package/node.js.map +1 -1
- package/node.test.js +191 -185
- package/node.test.js.map +1 -1
- package/package.json +5 -2
- package/web.d.ts +22 -41
- package/web.deps.json +1 -1
- package/web.esm.js +83 -65
- package/web.esm.js.map +1 -1
- package/web.js +83 -65
- package/web.js.map +1 -1
- package/web.test.js +107 -119
- package/web.test.js.map +1 -1
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
|
|
1016
|
+
static solo(host, task) {
|
|
1017
1017
|
const field = task.name + '()';
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
return
|
|
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
|
-
|
|
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,60 @@ var $;
|
|
|
1220
1214
|
//mol/wire/async/async.ts
|
|
1221
1215
|
;
|
|
1222
1216
|
"use strict";
|
|
1217
|
+
//mol/type/tail/tail.ts
|
|
1218
|
+
;
|
|
1219
|
+
"use strict";
|
|
1223
1220
|
var $;
|
|
1224
1221
|
(function ($) {
|
|
1225
|
-
function $
|
|
1226
|
-
const
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
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
|
-
$.$
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
+
$.$mol_wire_solo = $mol_wire_solo;
|
|
1251
|
+
})($ || ($ = {}));
|
|
1252
|
+
//mol/wire/solo/solo.ts
|
|
1253
|
+
;
|
|
1254
|
+
"use strict";
|
|
1255
|
+
//mol/type/error/error.ts
|
|
1256
|
+
;
|
|
1257
|
+
"use strict";
|
|
1258
|
+
var $;
|
|
1259
|
+
(function ($) {
|
|
1260
|
+
function $mol_wire_plex(host, field, descr) {
|
|
1261
|
+
const orig = descr.value;
|
|
1262
|
+
const sup = Reflect.getPrototypeOf(host);
|
|
1263
|
+
if (typeof sup[field] === 'function') {
|
|
1264
|
+
Object.defineProperty(orig, 'name', { value: sup[field].name });
|
|
1265
|
+
}
|
|
1266
|
+
const descr2 = {
|
|
1267
|
+
...descr,
|
|
1268
|
+
value: function (...args) {
|
|
1269
|
+
let atom = $mol_wire_atom.plex(this, orig, args[0]);
|
|
1270
|
+
if ((args.length === 1) || (args[1] === undefined)) {
|
|
1250
1271
|
if (!$mol_wire_fiber.warm)
|
|
1251
1272
|
return atom.result();
|
|
1252
1273
|
if ($mol_wire_auto() instanceof $mol_wire_task) {
|
|
@@ -1257,15 +1278,16 @@ var $;
|
|
|
1257
1278
|
}
|
|
1258
1279
|
}
|
|
1259
1280
|
return atom.resync(args);
|
|
1260
|
-
}
|
|
1261
|
-
Object.defineProperty(wrapper, 'name', { value: func.name + ' ' });
|
|
1262
|
-
Object.assign(wrapper, { orig: func });
|
|
1263
|
-
return wrapper;
|
|
1281
|
+
}
|
|
1264
1282
|
};
|
|
1283
|
+
Reflect.defineProperty(descr2.value, 'name', { value: orig.name + ' ' });
|
|
1284
|
+
Object.assign(descr2.value, { orig });
|
|
1285
|
+
Reflect.defineProperty(host, field, descr2);
|
|
1286
|
+
return descr2;
|
|
1265
1287
|
}
|
|
1266
|
-
$.$
|
|
1288
|
+
$.$mol_wire_plex = $mol_wire_plex;
|
|
1267
1289
|
})($ || ($ = {}));
|
|
1268
|
-
//mol/wire/
|
|
1290
|
+
//mol/wire/plex/plex.ts
|
|
1269
1291
|
;
|
|
1270
1292
|
"use strict";
|
|
1271
1293
|
var $;
|
|
@@ -1287,16 +1309,15 @@ var $;
|
|
|
1287
1309
|
if (!descr)
|
|
1288
1310
|
descr = Reflect.getOwnPropertyDescriptor(host, field);
|
|
1289
1311
|
const _get = descr?.get || $mol_const(descr?.value);
|
|
1290
|
-
const persist = $mol_wire_atom.getter(_get, 0);
|
|
1291
1312
|
const _set = descr?.set || function (next) {
|
|
1292
|
-
|
|
1313
|
+
$mol_wire_atom.solo(this, _get).put(next);
|
|
1293
1314
|
};
|
|
1294
1315
|
const sup = Reflect.getPrototypeOf(host);
|
|
1295
1316
|
const sup_descr = Reflect.getOwnPropertyDescriptor(sup, field);
|
|
1296
1317
|
Object.defineProperty(_get, 'name', { value: sup_descr?.get?.name ?? field });
|
|
1297
1318
|
Object.defineProperty(_set, 'name', { value: sup_descr?.set?.name ?? field });
|
|
1298
1319
|
function get() {
|
|
1299
|
-
return
|
|
1320
|
+
return $mol_wire_atom.solo(this, _get).sync();
|
|
1300
1321
|
}
|
|
1301
1322
|
const temp = $mol_wire_task.getter(_set);
|
|
1302
1323
|
function set(next) {
|
|
@@ -1326,17 +1347,16 @@ var $;
|
|
|
1326
1347
|
continue;
|
|
1327
1348
|
const get = descr.get ?? (() => descr.value);
|
|
1328
1349
|
const set = descr.set ?? (next => descr.value = next);
|
|
1329
|
-
const persist = $mol_wire_atom.getter(get, 0);
|
|
1330
1350
|
Reflect.defineProperty(obj, field, {
|
|
1331
1351
|
configurable: true,
|
|
1332
1352
|
enumerable: descr.enumerable,
|
|
1333
1353
|
get() {
|
|
1334
|
-
const atom =
|
|
1354
|
+
const atom = $mol_wire_atom.solo(obj, get);
|
|
1335
1355
|
atom.watch();
|
|
1336
1356
|
return atom.sync();
|
|
1337
1357
|
},
|
|
1338
1358
|
set(next) {
|
|
1339
|
-
const atom =
|
|
1359
|
+
const atom = $mol_wire_atom.solo(obj, get);
|
|
1340
1360
|
set.call(this, next);
|
|
1341
1361
|
atom.refresh();
|
|
1342
1362
|
},
|
|
@@ -1523,10 +1543,8 @@ var $;
|
|
|
1523
1543
|
"use strict";
|
|
1524
1544
|
var $;
|
|
1525
1545
|
(function ($) {
|
|
1526
|
-
$.$mol_mem = $
|
|
1527
|
-
$.$mol_mem_key = $
|
|
1528
|
-
$.$mol_mem_key2 = $mol_wire_mem(2);
|
|
1529
|
-
$.$mol_mem_key3 = $mol_wire_mem(3);
|
|
1546
|
+
$.$mol_mem = $mol_wire_solo;
|
|
1547
|
+
$.$mol_mem_key = $mol_wire_plex;
|
|
1530
1548
|
})($ || ($ = {}));
|
|
1531
1549
|
//mol/mem/mem.ts
|
|
1532
1550
|
;
|