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/web.js
CHANGED
|
@@ -1019,37 +1019,31 @@ var $;
|
|
|
1019
1019
|
var $;
|
|
1020
1020
|
(function ($) {
|
|
1021
1021
|
class $mol_wire_atom extends $mol_wire_fiber {
|
|
1022
|
-
static
|
|
1022
|
+
static solo(host, task) {
|
|
1023
1023
|
const field = task.name + '()';
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
return
|
|
1040
|
-
};
|
|
1024
|
+
const existen = Object.getOwnPropertyDescriptor(host ?? task, field)?.value;
|
|
1025
|
+
if (existen)
|
|
1026
|
+
return existen;
|
|
1027
|
+
const key = `${host?.[Symbol.toStringTag] ?? host}.${field}`;
|
|
1028
|
+
const fiber = new $mol_wire_atom(key, task, host, []);
|
|
1029
|
+
(host ?? task)[field] = fiber;
|
|
1030
|
+
return fiber;
|
|
1031
|
+
}
|
|
1032
|
+
static plex(host, task, key) {
|
|
1033
|
+
const field = task.name + '()';
|
|
1034
|
+
let dict = Object.getOwnPropertyDescriptor(host ?? task, field)?.value;
|
|
1035
|
+
const id = `${host?.[Symbol.toStringTag] ?? host}.${task.name}(${$mol_key(key)})`;
|
|
1036
|
+
if (dict) {
|
|
1037
|
+
const existen = dict.get(id);
|
|
1038
|
+
if (existen)
|
|
1039
|
+
return existen;
|
|
1041
1040
|
}
|
|
1042
1041
|
else {
|
|
1043
|
-
|
|
1044
|
-
const existen = Object.getOwnPropertyDescriptor(host ?? task, field)?.value;
|
|
1045
|
-
if (existen)
|
|
1046
|
-
return existen;
|
|
1047
|
-
const key = `${host?.[Symbol.toStringTag] ?? host}.${field}`;
|
|
1048
|
-
const fiber = new $mol_wire_atom(key, task, host, args);
|
|
1049
|
-
(host ?? task)[field] = fiber;
|
|
1050
|
-
return fiber;
|
|
1051
|
-
};
|
|
1042
|
+
dict = (host ?? task)[field] = new Map();
|
|
1052
1043
|
}
|
|
1044
|
+
const fiber = new $mol_wire_atom(id, task, host, [key]);
|
|
1045
|
+
dict.set(id, fiber);
|
|
1046
|
+
return fiber;
|
|
1053
1047
|
}
|
|
1054
1048
|
static watching = new Set();
|
|
1055
1049
|
static watch() {
|
|
@@ -1226,33 +1220,60 @@ var $;
|
|
|
1226
1220
|
//mol/wire/async/async.ts
|
|
1227
1221
|
;
|
|
1228
1222
|
"use strict";
|
|
1223
|
+
//mol/type/tail/tail.ts
|
|
1224
|
+
;
|
|
1225
|
+
"use strict";
|
|
1229
1226
|
var $;
|
|
1230
1227
|
(function ($) {
|
|
1231
|
-
function $
|
|
1232
|
-
const
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1228
|
+
function $mol_wire_solo(host, field, descr) {
|
|
1229
|
+
const orig = descr.value;
|
|
1230
|
+
const sup = Reflect.getPrototypeOf(host);
|
|
1231
|
+
if (typeof sup[field] === 'function') {
|
|
1232
|
+
Object.defineProperty(orig, 'name', { value: sup[field].name });
|
|
1233
|
+
}
|
|
1234
|
+
const descr2 = {
|
|
1235
|
+
...descr,
|
|
1236
|
+
value: function (...args) {
|
|
1237
|
+
let atom = $mol_wire_atom.solo(this, orig);
|
|
1238
|
+
if ((args.length === 0) || (args[0] === undefined)) {
|
|
1239
|
+
if (!$mol_wire_fiber.warm)
|
|
1240
|
+
return atom.result();
|
|
1241
|
+
if ($mol_wire_auto() instanceof $mol_wire_task) {
|
|
1242
|
+
return atom.once();
|
|
1243
|
+
}
|
|
1244
|
+
else {
|
|
1245
|
+
return atom.sync();
|
|
1246
|
+
}
|
|
1247
|
+
}
|
|
1248
|
+
return atom.resync(args);
|
|
1240
1249
|
}
|
|
1241
|
-
const descr2 = {
|
|
1242
|
-
...descr,
|
|
1243
|
-
value: wrap(orig)
|
|
1244
|
-
};
|
|
1245
|
-
Reflect.defineProperty(host, field, descr2);
|
|
1246
|
-
return descr2;
|
|
1247
1250
|
};
|
|
1251
|
+
Reflect.defineProperty(descr2.value, 'name', { value: orig.name + ' ' });
|
|
1252
|
+
Object.assign(descr2.value, { orig });
|
|
1253
|
+
Reflect.defineProperty(host, field, descr2);
|
|
1254
|
+
return descr2;
|
|
1248
1255
|
}
|
|
1249
|
-
$.$
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
+
$.$mol_wire_solo = $mol_wire_solo;
|
|
1257
|
+
})($ || ($ = {}));
|
|
1258
|
+
//mol/wire/solo/solo.ts
|
|
1259
|
+
;
|
|
1260
|
+
"use strict";
|
|
1261
|
+
//mol/type/error/error.ts
|
|
1262
|
+
;
|
|
1263
|
+
"use strict";
|
|
1264
|
+
var $;
|
|
1265
|
+
(function ($) {
|
|
1266
|
+
function $mol_wire_plex(host, field, descr) {
|
|
1267
|
+
const orig = descr.value;
|
|
1268
|
+
const sup = Reflect.getPrototypeOf(host);
|
|
1269
|
+
if (typeof sup[field] === 'function') {
|
|
1270
|
+
Object.defineProperty(orig, 'name', { value: sup[field].name });
|
|
1271
|
+
}
|
|
1272
|
+
const descr2 = {
|
|
1273
|
+
...descr,
|
|
1274
|
+
value: function (...args) {
|
|
1275
|
+
let atom = $mol_wire_atom.plex(this, orig, args[0]);
|
|
1276
|
+
if ((args.length === 1) || (args[1] === undefined)) {
|
|
1256
1277
|
if (!$mol_wire_fiber.warm)
|
|
1257
1278
|
return atom.result();
|
|
1258
1279
|
if ($mol_wire_auto() instanceof $mol_wire_task) {
|
|
@@ -1263,15 +1284,16 @@ var $;
|
|
|
1263
1284
|
}
|
|
1264
1285
|
}
|
|
1265
1286
|
return atom.resync(args);
|
|
1266
|
-
}
|
|
1267
|
-
Object.defineProperty(wrapper, 'name', { value: func.name + ' ' });
|
|
1268
|
-
Object.assign(wrapper, { orig: func });
|
|
1269
|
-
return wrapper;
|
|
1287
|
+
}
|
|
1270
1288
|
};
|
|
1289
|
+
Reflect.defineProperty(descr2.value, 'name', { value: orig.name + ' ' });
|
|
1290
|
+
Object.assign(descr2.value, { orig });
|
|
1291
|
+
Reflect.defineProperty(host, field, descr2);
|
|
1292
|
+
return descr2;
|
|
1271
1293
|
}
|
|
1272
|
-
$.$
|
|
1294
|
+
$.$mol_wire_plex = $mol_wire_plex;
|
|
1273
1295
|
})($ || ($ = {}));
|
|
1274
|
-
//mol/wire/
|
|
1296
|
+
//mol/wire/plex/plex.ts
|
|
1275
1297
|
;
|
|
1276
1298
|
"use strict";
|
|
1277
1299
|
var $;
|
|
@@ -1293,16 +1315,15 @@ var $;
|
|
|
1293
1315
|
if (!descr)
|
|
1294
1316
|
descr = Reflect.getOwnPropertyDescriptor(host, field);
|
|
1295
1317
|
const _get = descr?.get || $mol_const(descr?.value);
|
|
1296
|
-
const persist = $mol_wire_atom.getter(_get, 0);
|
|
1297
1318
|
const _set = descr?.set || function (next) {
|
|
1298
|
-
|
|
1319
|
+
$mol_wire_atom.solo(this, _get).put(next);
|
|
1299
1320
|
};
|
|
1300
1321
|
const sup = Reflect.getPrototypeOf(host);
|
|
1301
1322
|
const sup_descr = Reflect.getOwnPropertyDescriptor(sup, field);
|
|
1302
1323
|
Object.defineProperty(_get, 'name', { value: sup_descr?.get?.name ?? field });
|
|
1303
1324
|
Object.defineProperty(_set, 'name', { value: sup_descr?.set?.name ?? field });
|
|
1304
1325
|
function get() {
|
|
1305
|
-
return
|
|
1326
|
+
return $mol_wire_atom.solo(this, _get).sync();
|
|
1306
1327
|
}
|
|
1307
1328
|
const temp = $mol_wire_task.getter(_set);
|
|
1308
1329
|
function set(next) {
|
|
@@ -1332,17 +1353,16 @@ var $;
|
|
|
1332
1353
|
continue;
|
|
1333
1354
|
const get = descr.get ?? (() => descr.value);
|
|
1334
1355
|
const set = descr.set ?? (next => descr.value = next);
|
|
1335
|
-
const persist = $mol_wire_atom.getter(get, 0);
|
|
1336
1356
|
Reflect.defineProperty(obj, field, {
|
|
1337
1357
|
configurable: true,
|
|
1338
1358
|
enumerable: descr.enumerable,
|
|
1339
1359
|
get() {
|
|
1340
|
-
const atom =
|
|
1360
|
+
const atom = $mol_wire_atom.solo(obj, get);
|
|
1341
1361
|
atom.watch();
|
|
1342
1362
|
return atom.sync();
|
|
1343
1363
|
},
|
|
1344
1364
|
set(next) {
|
|
1345
|
-
const atom =
|
|
1365
|
+
const atom = $mol_wire_atom.solo(obj, get);
|
|
1346
1366
|
set.call(this, next);
|
|
1347
1367
|
atom.refresh();
|
|
1348
1368
|
},
|
|
@@ -1550,10 +1570,8 @@ var $;
|
|
|
1550
1570
|
"use strict";
|
|
1551
1571
|
var $;
|
|
1552
1572
|
(function ($) {
|
|
1553
|
-
$.$mol_mem = $
|
|
1554
|
-
$.$mol_mem_key = $
|
|
1555
|
-
$.$mol_mem_key2 = $mol_wire_mem(2);
|
|
1556
|
-
$.$mol_mem_key3 = $mol_wire_mem(3);
|
|
1573
|
+
$.$mol_mem = $mol_wire_solo;
|
|
1574
|
+
$.$mol_mem_key = $mol_wire_plex;
|
|
1557
1575
|
})($ || ($ = {}));
|
|
1558
1576
|
//mol/mem/mem.ts
|
|
1559
1577
|
;
|