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.d.ts +18 -41
- package/node.deps.json +1 -1
- package/node.esm.js +80 -65
- package/node.esm.js.map +1 -1
- package/node.js +80 -65
- package/node.js.map +1 -1
- package/node.test.js +185 -185
- package/node.test.js.map +1 -1
- package/package.json +4 -2
- package/web.d.ts +18 -41
- package/web.deps.json +1 -1
- package/web.esm.js +80 -65
- package/web.esm.js.map +1 -1
- package/web.js +80 -65
- package/web.js.map +1 -1
- package/web.test.js +104 -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,57 @@ var $;
|
|
|
1226
1220
|
//mol/wire/async/async.ts
|
|
1227
1221
|
;
|
|
1228
1222
|
"use strict";
|
|
1223
|
+
//mol/type/error/error.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
|
+
var $;
|
|
1262
|
+
(function ($) {
|
|
1263
|
+
function $mol_wire_plex(host, field, descr) {
|
|
1264
|
+
const orig = descr.value;
|
|
1265
|
+
const sup = Reflect.getPrototypeOf(host);
|
|
1266
|
+
if (typeof sup[field] === 'function') {
|
|
1267
|
+
Object.defineProperty(orig, 'name', { value: sup[field].name });
|
|
1268
|
+
}
|
|
1269
|
+
const descr2 = {
|
|
1270
|
+
...descr,
|
|
1271
|
+
value: function (...args) {
|
|
1272
|
+
let atom = $mol_wire_atom.plex(this, orig, args[0]);
|
|
1273
|
+
if ((args.length === 1) || (args[1] === undefined)) {
|
|
1256
1274
|
if (!$mol_wire_fiber.warm)
|
|
1257
1275
|
return atom.result();
|
|
1258
1276
|
if ($mol_wire_auto() instanceof $mol_wire_task) {
|
|
@@ -1263,15 +1281,16 @@ var $;
|
|
|
1263
1281
|
}
|
|
1264
1282
|
}
|
|
1265
1283
|
return atom.resync(args);
|
|
1266
|
-
}
|
|
1267
|
-
Object.defineProperty(wrapper, 'name', { value: func.name + ' ' });
|
|
1268
|
-
Object.assign(wrapper, { orig: func });
|
|
1269
|
-
return wrapper;
|
|
1284
|
+
}
|
|
1270
1285
|
};
|
|
1286
|
+
Reflect.defineProperty(descr2.value, 'name', { value: orig.name + ' ' });
|
|
1287
|
+
Object.assign(descr2.value, { orig });
|
|
1288
|
+
Reflect.defineProperty(host, field, descr2);
|
|
1289
|
+
return descr2;
|
|
1271
1290
|
}
|
|
1272
|
-
$.$
|
|
1291
|
+
$.$mol_wire_plex = $mol_wire_plex;
|
|
1273
1292
|
})($ || ($ = {}));
|
|
1274
|
-
//mol/wire/
|
|
1293
|
+
//mol/wire/plex/plex.ts
|
|
1275
1294
|
;
|
|
1276
1295
|
"use strict";
|
|
1277
1296
|
var $;
|
|
@@ -1293,16 +1312,15 @@ var $;
|
|
|
1293
1312
|
if (!descr)
|
|
1294
1313
|
descr = Reflect.getOwnPropertyDescriptor(host, field);
|
|
1295
1314
|
const _get = descr?.get || $mol_const(descr?.value);
|
|
1296
|
-
const persist = $mol_wire_atom.getter(_get, 0);
|
|
1297
1315
|
const _set = descr?.set || function (next) {
|
|
1298
|
-
|
|
1316
|
+
$mol_wire_atom.solo(this, _get).put(next);
|
|
1299
1317
|
};
|
|
1300
1318
|
const sup = Reflect.getPrototypeOf(host);
|
|
1301
1319
|
const sup_descr = Reflect.getOwnPropertyDescriptor(sup, field);
|
|
1302
1320
|
Object.defineProperty(_get, 'name', { value: sup_descr?.get?.name ?? field });
|
|
1303
1321
|
Object.defineProperty(_set, 'name', { value: sup_descr?.set?.name ?? field });
|
|
1304
1322
|
function get() {
|
|
1305
|
-
return
|
|
1323
|
+
return $mol_wire_atom.solo(this, _get).sync();
|
|
1306
1324
|
}
|
|
1307
1325
|
const temp = $mol_wire_task.getter(_set);
|
|
1308
1326
|
function set(next) {
|
|
@@ -1332,17 +1350,16 @@ var $;
|
|
|
1332
1350
|
continue;
|
|
1333
1351
|
const get = descr.get ?? (() => descr.value);
|
|
1334
1352
|
const set = descr.set ?? (next => descr.value = next);
|
|
1335
|
-
const persist = $mol_wire_atom.getter(get, 0);
|
|
1336
1353
|
Reflect.defineProperty(obj, field, {
|
|
1337
1354
|
configurable: true,
|
|
1338
1355
|
enumerable: descr.enumerable,
|
|
1339
1356
|
get() {
|
|
1340
|
-
const atom =
|
|
1357
|
+
const atom = $mol_wire_atom.solo(obj, get);
|
|
1341
1358
|
atom.watch();
|
|
1342
1359
|
return atom.sync();
|
|
1343
1360
|
},
|
|
1344
1361
|
set(next) {
|
|
1345
|
-
const atom =
|
|
1362
|
+
const atom = $mol_wire_atom.solo(obj, get);
|
|
1346
1363
|
set.call(this, next);
|
|
1347
1364
|
atom.refresh();
|
|
1348
1365
|
},
|
|
@@ -1550,10 +1567,8 @@ var $;
|
|
|
1550
1567
|
"use strict";
|
|
1551
1568
|
var $;
|
|
1552
1569
|
(function ($) {
|
|
1553
|
-
$.$mol_mem = $
|
|
1554
|
-
$.$mol_mem_key = $
|
|
1555
|
-
$.$mol_mem_key2 = $mol_wire_mem(2);
|
|
1556
|
-
$.$mol_mem_key3 = $mol_wire_mem(3);
|
|
1570
|
+
$.$mol_mem = $mol_wire_solo;
|
|
1571
|
+
$.$mol_mem_key = $mol_wire_plex;
|
|
1557
1572
|
})($ || ($ = {}));
|
|
1558
1573
|
//mol/mem/mem.ts
|
|
1559
1574
|
;
|