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/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,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 $
|
|
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
|
+
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
|
-
$.$
|
|
1285
|
+
$.$mol_wire_plex = $mol_wire_plex;
|
|
1267
1286
|
})($ || ($ = {}));
|
|
1268
|
-
//mol/wire/
|
|
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
|
-
|
|
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
|
|
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 =
|
|
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 =
|
|
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 = $
|
|
1527
|
-
$.$mol_mem_key = $
|
|
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
|
;
|