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.test.js CHANGED
@@ -1005,37 +1005,31 @@ var $;
1005
1005
  var $;
1006
1006
  (function ($) {
1007
1007
  class $mol_wire_atom extends $mol_wire_fiber {
1008
- static getter(task, keys) {
1008
+ static solo(host, task) {
1009
1009
  const field = task.name + '()';
1010
- if (keys) {
1011
- return function $mol_wire_atom_get(host, args) {
1012
- let dict, key, fiber;
1013
- key = `${host?.[Symbol.toStringTag] ?? host}.${task.name}(${args.map(v => $mol_key(v)).join(',')})`;
1014
- dict = Object.getOwnPropertyDescriptor(host ?? task, field)?.value;
1015
- if (dict) {
1016
- const existen = dict.get(key);
1017
- if (existen)
1018
- return existen;
1019
- }
1020
- else {
1021
- dict = (host ?? task)[field] = new Map();
1022
- }
1023
- fiber = new $mol_wire_atom(key, task, host, args);
1024
- dict.set(key, fiber);
1025
- return fiber;
1026
- };
1010
+ const existen = Object.getOwnPropertyDescriptor(host ?? task, field)?.value;
1011
+ if (existen)
1012
+ return existen;
1013
+ const key = `${host?.[Symbol.toStringTag] ?? host}.${field}`;
1014
+ const fiber = new $mol_wire_atom(key, task, host, []);
1015
+ (host ?? task)[field] = fiber;
1016
+ return fiber;
1017
+ }
1018
+ static plex(host, task, key) {
1019
+ const field = task.name + '()';
1020
+ let dict = Object.getOwnPropertyDescriptor(host ?? task, field)?.value;
1021
+ const id = `${host?.[Symbol.toStringTag] ?? host}.${task.name}(${$mol_key(key)})`;
1022
+ if (dict) {
1023
+ const existen = dict.get(id);
1024
+ if (existen)
1025
+ return existen;
1027
1026
  }
1028
1027
  else {
1029
- return function $mol_wire_atom_get(host, args) {
1030
- const existen = Object.getOwnPropertyDescriptor(host ?? task, field)?.value;
1031
- if (existen)
1032
- return existen;
1033
- const key = `${host?.[Symbol.toStringTag] ?? host}.${field}`;
1034
- const fiber = new $mol_wire_atom(key, task, host, args);
1035
- (host ?? task)[field] = fiber;
1036
- return fiber;
1037
- };
1028
+ dict = (host ?? task)[field] = new Map();
1038
1029
  }
1030
+ const fiber = new $mol_wire_atom(id, task, host, [key]);
1031
+ dict.set(id, fiber);
1032
+ return fiber;
1039
1033
  }
1040
1034
  static watching = new Set();
1041
1035
  static watch() {
@@ -1212,33 +1206,60 @@ var $;
1212
1206
  //mol/wire/async/async.ts
1213
1207
  ;
1214
1208
  "use strict";
1209
+ //mol/type/tail/tail.ts
1210
+ ;
1211
+ "use strict";
1215
1212
  var $;
1216
1213
  (function ($) {
1217
- function $mol_wire_mem(keys) {
1218
- const wrap = $mol_wire_mem_func(keys);
1219
- return (host, field, descr) => {
1220
- if (!descr)
1221
- descr = Reflect.getOwnPropertyDescriptor(host, field);
1222
- const orig = descr?.value ?? host[field];
1223
- const sup = Reflect.getPrototypeOf(host);
1224
- if (typeof sup[field] === 'function') {
1225
- Object.defineProperty(orig, 'name', { value: sup[field].name });
1226
- }
1227
- const descr2 = {
1228
- ...descr,
1229
- value: wrap(orig)
1230
- };
1231
- Reflect.defineProperty(host, field, descr2);
1232
- return descr2;
1214
+ function $mol_wire_solo(host, field, descr) {
1215
+ const orig = descr.value;
1216
+ const sup = Reflect.getPrototypeOf(host);
1217
+ if (typeof sup[field] === 'function') {
1218
+ Object.defineProperty(orig, 'name', { value: sup[field].name });
1219
+ }
1220
+ const descr2 = {
1221
+ ...descr,
1222
+ value: function (...args) {
1223
+ let atom = $mol_wire_atom.solo(this, orig);
1224
+ if ((args.length === 0) || (args[0] === undefined)) {
1225
+ if (!$mol_wire_fiber.warm)
1226
+ return atom.result();
1227
+ if ($mol_wire_auto() instanceof $mol_wire_task) {
1228
+ return atom.once();
1229
+ }
1230
+ else {
1231
+ return atom.sync();
1232
+ }
1233
+ }
1234
+ return atom.resync(args);
1235
+ }
1233
1236
  };
1237
+ Reflect.defineProperty(descr2.value, 'name', { value: orig.name + ' ' });
1238
+ Object.assign(descr2.value, { orig });
1239
+ Reflect.defineProperty(host, field, descr2);
1240
+ return descr2;
1234
1241
  }
1235
- $.$mol_wire_mem = $mol_wire_mem;
1236
- function $mol_wire_mem_func(keys) {
1237
- return (func) => {
1238
- const persist = $mol_wire_atom.getter(func, keys);
1239
- const wrapper = function (...args) {
1240
- let atom = persist(this, args.slice(0, keys));
1241
- if (args.length <= keys || args[keys] === undefined) {
1242
+ $.$mol_wire_solo = $mol_wire_solo;
1243
+ })($ || ($ = {}));
1244
+ //mol/wire/solo/solo.ts
1245
+ ;
1246
+ "use strict";
1247
+ //mol/type/error/error.ts
1248
+ ;
1249
+ "use strict";
1250
+ var $;
1251
+ (function ($) {
1252
+ function $mol_wire_plex(host, field, descr) {
1253
+ const orig = descr.value;
1254
+ const sup = Reflect.getPrototypeOf(host);
1255
+ if (typeof sup[field] === 'function') {
1256
+ Object.defineProperty(orig, 'name', { value: sup[field].name });
1257
+ }
1258
+ const descr2 = {
1259
+ ...descr,
1260
+ value: function (...args) {
1261
+ let atom = $mol_wire_atom.plex(this, orig, args[0]);
1262
+ if ((args.length === 1) || (args[1] === undefined)) {
1242
1263
  if (!$mol_wire_fiber.warm)
1243
1264
  return atom.result();
1244
1265
  if ($mol_wire_auto() instanceof $mol_wire_task) {
@@ -1249,15 +1270,16 @@ var $;
1249
1270
  }
1250
1271
  }
1251
1272
  return atom.resync(args);
1252
- };
1253
- Object.defineProperty(wrapper, 'name', { value: func.name + ' ' });
1254
- Object.assign(wrapper, { orig: func });
1255
- return wrapper;
1273
+ }
1256
1274
  };
1275
+ Reflect.defineProperty(descr2.value, 'name', { value: orig.name + ' ' });
1276
+ Object.assign(descr2.value, { orig });
1277
+ Reflect.defineProperty(host, field, descr2);
1278
+ return descr2;
1257
1279
  }
1258
- $.$mol_wire_mem_func = $mol_wire_mem_func;
1280
+ $.$mol_wire_plex = $mol_wire_plex;
1259
1281
  })($ || ($ = {}));
1260
- //mol/wire/mem/mem.ts
1282
+ //mol/wire/plex/plex.ts
1261
1283
  ;
1262
1284
  "use strict";
1263
1285
  var $;
@@ -1279,16 +1301,15 @@ var $;
1279
1301
  if (!descr)
1280
1302
  descr = Reflect.getOwnPropertyDescriptor(host, field);
1281
1303
  const _get = descr?.get || $mol_const(descr?.value);
1282
- const persist = $mol_wire_atom.getter(_get, 0);
1283
1304
  const _set = descr?.set || function (next) {
1284
- persist(this, []).put(next);
1305
+ $mol_wire_atom.solo(this, _get).put(next);
1285
1306
  };
1286
1307
  const sup = Reflect.getPrototypeOf(host);
1287
1308
  const sup_descr = Reflect.getOwnPropertyDescriptor(sup, field);
1288
1309
  Object.defineProperty(_get, 'name', { value: sup_descr?.get?.name ?? field });
1289
1310
  Object.defineProperty(_set, 'name', { value: sup_descr?.set?.name ?? field });
1290
1311
  function get() {
1291
- return persist(this, []).sync();
1312
+ return $mol_wire_atom.solo(this, _get).sync();
1292
1313
  }
1293
1314
  const temp = $mol_wire_task.getter(_set);
1294
1315
  function set(next) {
@@ -1318,17 +1339,16 @@ var $;
1318
1339
  continue;
1319
1340
  const get = descr.get ?? (() => descr.value);
1320
1341
  const set = descr.set ?? (next => descr.value = next);
1321
- const persist = $mol_wire_atom.getter(get, 0);
1322
1342
  Reflect.defineProperty(obj, field, {
1323
1343
  configurable: true,
1324
1344
  enumerable: descr.enumerable,
1325
1345
  get() {
1326
- const atom = persist(obj, []);
1346
+ const atom = $mol_wire_atom.solo(obj, get);
1327
1347
  atom.watch();
1328
1348
  return atom.sync();
1329
1349
  },
1330
1350
  set(next) {
1331
- const atom = persist(obj, []);
1351
+ const atom = $mol_wire_atom.solo(obj, get);
1332
1352
  set.call(this, next);
1333
1353
  atom.refresh();
1334
1354
  },
@@ -1515,10 +1535,8 @@ var $;
1515
1535
  "use strict";
1516
1536
  var $;
1517
1537
  (function ($) {
1518
- $.$mol_mem = $mol_wire_mem(0);
1519
- $.$mol_mem_key = $mol_wire_mem(1);
1520
- $.$mol_mem_key2 = $mol_wire_mem(2);
1521
- $.$mol_mem_key3 = $mol_wire_mem(3);
1538
+ $.$mol_mem = $mol_wire_solo;
1539
+ $.$mol_mem_key = $mol_wire_plex;
1522
1540
  })($ || ($ = {}));
1523
1541
  //mol/mem/mem.ts
1524
1542
  ;
@@ -2275,9 +2293,6 @@ var $;
2275
2293
  //mol/dom/render/children/children.ts
2276
2294
  ;
2277
2295
  "use strict";
2278
- //mol/type/error/error.ts
2279
- ;
2280
- "use strict";
2281
2296
  //mol/type/assert/assert.test.ts
2282
2297
  ;
2283
2298
  "use strict";
@@ -3145,6 +3160,9 @@ var $;
3145
3160
  //mol/wire/async/async.test.ts
3146
3161
  ;
3147
3162
  "use strict";
3163
+ //mol/type/tail/tail.test.ts
3164
+ ;
3165
+ "use strict";
3148
3166
  var $;
3149
3167
  (function ($_1) {
3150
3168
  $mol_test({
@@ -3156,7 +3174,7 @@ var $;
3156
3174
  }
3157
3175
  }
3158
3176
  __decorate([
3159
- $mol_wire_mem(0)
3177
+ $mol_wire_solo
3160
3178
  ], App, "value", null);
3161
3179
  $mol_assert_equal(App.value(), 2);
3162
3180
  App.value(2);
@@ -3170,7 +3188,7 @@ var $;
3170
3188
  }
3171
3189
  }
3172
3190
  __decorate([
3173
- $mol_wire_mem(0)
3191
+ $mol_wire_solo
3174
3192
  ], App, "value", null);
3175
3193
  $mol_assert_equal(App.value(1), 1);
3176
3194
  $mol_assert_equal(App.value(), 1);
@@ -3183,7 +3201,7 @@ var $;
3183
3201
  }
3184
3202
  }
3185
3203
  __decorate([
3186
- $mol_wire_mem(0)
3204
+ $mol_wire_solo
3187
3205
  ], Base, "value", null);
3188
3206
  class Middle extends Base {
3189
3207
  static value(next) {
@@ -3191,7 +3209,7 @@ var $;
3191
3209
  }
3192
3210
  }
3193
3211
  __decorate([
3194
- $mol_wire_mem(0)
3212
+ $mol_wire_solo
3195
3213
  ], Middle, "value", null);
3196
3214
  class App extends Middle {
3197
3215
  static value(next) {
@@ -3199,7 +3217,7 @@ var $;
3199
3217
  }
3200
3218
  }
3201
3219
  __decorate([
3202
- $mol_wire_mem(0)
3220
+ $mol_wire_solo
3203
3221
  ], App, "value", null);
3204
3222
  $mol_assert_equal(App.value(), 9);
3205
3223
  $mol_assert_equal(App.value(5), 21);
@@ -3219,13 +3237,13 @@ var $;
3219
3237
  }
3220
3238
  }
3221
3239
  __decorate([
3222
- $mol_wire_mem(0)
3240
+ $mol_wire_solo
3223
3241
  ], App, "xxx", null);
3224
3242
  __decorate([
3225
- $mol_wire_mem(0)
3243
+ $mol_wire_solo
3226
3244
  ], App, "yyy", null);
3227
3245
  __decorate([
3228
- $mol_wire_mem(0)
3246
+ $mol_wire_solo
3229
3247
  ], App, "zzz", null);
3230
3248
  $mol_assert_equal(App.yyy(), 2);
3231
3249
  $mol_assert_equal(App.zzz(), 3);
@@ -3250,13 +3268,13 @@ var $;
3250
3268
  }
3251
3269
  }
3252
3270
  __decorate([
3253
- $mol_wire_mem(0)
3271
+ $mol_wire_solo
3254
3272
  ], App, "xxx", null);
3255
3273
  __decorate([
3256
- $mol_wire_mem(0)
3274
+ $mol_wire_solo
3257
3275
  ], App, "yyy", null);
3258
3276
  __decorate([
3259
- $mol_wire_mem(0)
3277
+ $mol_wire_solo
3260
3278
  ], App, "zzz", null);
3261
3279
  App.zzz();
3262
3280
  $mol_assert_like(log, ['zzz', 'yyy', 'xxx']);
@@ -3278,16 +3296,16 @@ var $;
3278
3296
  }
3279
3297
  }
3280
3298
  __decorate([
3281
- $mol_wire_mem(0)
3299
+ $mol_wire_solo
3282
3300
  ], App, "first", null);
3283
3301
  __decorate([
3284
- $mol_wire_mem(0)
3302
+ $mol_wire_solo
3285
3303
  ], App, "second", null);
3286
3304
  __decorate([
3287
- $mol_wire_mem(0)
3305
+ $mol_wire_solo
3288
3306
  ], App, "condition", null);
3289
3307
  __decorate([
3290
- $mol_wire_mem(0)
3308
+ $mol_wire_solo
3291
3309
  ], App, "result", null);
3292
3310
  $mol_assert_equal(App.result(), 1);
3293
3311
  $mol_assert_equal(App.counter, 1);
@@ -3310,10 +3328,10 @@ var $;
3310
3328
  }
3311
3329
  }
3312
3330
  __decorate([
3313
- $mol_wire_mem(0)
3331
+ $mol_wire_solo
3314
3332
  ], App, "foo", null);
3315
3333
  __decorate([
3316
- $mol_wire_mem(0)
3334
+ $mol_wire_solo
3317
3335
  ], App, "bar", null);
3318
3336
  $mol_assert_like(App.bar(), { numbs: [1], count: 1 });
3319
3337
  App.foo({ numbs: [1] });
@@ -3335,10 +3353,10 @@ var $;
3335
3353
  }
3336
3354
  }
3337
3355
  __decorate([
3338
- $mol_wire_mem(0)
3356
+ $mol_wire_solo
3339
3357
  ], App, "foo", null);
3340
3358
  __decorate([
3341
- $mol_wire_mem(0)
3359
+ $mol_wire_solo
3342
3360
  ], App, "bar", null);
3343
3361
  __decorate([
3344
3362
  $mol_wire_method
@@ -3361,13 +3379,13 @@ var $;
3361
3379
  }
3362
3380
  }
3363
3381
  __decorate([
3364
- $mol_wire_mem(0)
3382
+ $mol_wire_solo
3365
3383
  ], App, "store", null);
3366
3384
  __decorate([
3367
- $mol_wire_mem(0)
3385
+ $mol_wire_solo
3368
3386
  ], App, "fast", null);
3369
3387
  __decorate([
3370
- $mol_wire_mem(0)
3388
+ $mol_wire_solo
3371
3389
  ], App, "slow", null);
3372
3390
  App.fast();
3373
3391
  $mol_assert_equal(App.slow(666), 666);
@@ -3392,13 +3410,13 @@ var $;
3392
3410
  }
3393
3411
  }
3394
3412
  __decorate([
3395
- $mol_wire_mem(0)
3413
+ $mol_wire_solo
3396
3414
  ], App, "count", null);
3397
3415
  __decorate([
3398
- $mol_wire_mem(0)
3416
+ $mol_wire_solo
3399
3417
  ], App, "count2", null);
3400
3418
  __decorate([
3401
- $mol_wire_mem(0)
3419
+ $mol_wire_solo
3402
3420
  ], App, "res", null);
3403
3421
  $mol_assert_like(App.res(), 1);
3404
3422
  App.count(5);
@@ -3425,13 +3443,13 @@ var $;
3425
3443
  }
3426
3444
  }
3427
3445
  __decorate([
3428
- $mol_wire_mem(0)
3446
+ $mol_wire_solo
3429
3447
  ], App, "checked", null);
3430
3448
  __decorate([
3431
3449
  $mol_wire_method
3432
3450
  ], App, "toggle", null);
3433
3451
  __decorate([
3434
- $mol_wire_mem(0)
3452
+ $mol_wire_solo
3435
3453
  ], App, "res", null);
3436
3454
  __decorate([
3437
3455
  $mol_wire_method
@@ -3453,13 +3471,13 @@ var $;
3453
3471
  }
3454
3472
  }
3455
3473
  __decorate([
3456
- $mol_wire_mem(0)
3474
+ $mol_wire_solo
3457
3475
  ], App, "condition", null);
3458
3476
  __decorate([
3459
- $mol_wire_mem(0)
3477
+ $mol_wire_solo
3460
3478
  ], App, "broken", null);
3461
3479
  __decorate([
3462
- $mol_wire_mem(0)
3480
+ $mol_wire_solo
3463
3481
  ], App, "result", null);
3464
3482
  $mol_assert_equal(App.result(), 1);
3465
3483
  App.condition(true);
@@ -3484,10 +3502,10 @@ var $;
3484
3502
  }
3485
3503
  }
3486
3504
  __decorate([
3487
- $mol_wire_mem(0)
3505
+ $mol_wire_solo
3488
3506
  ], App, "middle", null);
3489
3507
  __decorate([
3490
- $mol_wire_mem(0)
3508
+ $mol_wire_solo
3491
3509
  ], App, "target", null);
3492
3510
  __decorate([
3493
3511
  $mol_wire_method
@@ -3513,13 +3531,13 @@ var $;
3513
3531
  }
3514
3532
  }
3515
3533
  __decorate([
3516
- $mol_wire_mem(0)
3534
+ $mol_wire_solo
3517
3535
  ], App, "showing", null);
3518
3536
  __decorate([
3519
- $mol_wire_mem(0)
3537
+ $mol_wire_solo
3520
3538
  ], App, "details", null);
3521
3539
  __decorate([
3522
- $mol_wire_mem(0)
3540
+ $mol_wire_solo
3523
3541
  ], App, "render", null);
3524
3542
  const details = App.render();
3525
3543
  $mol_assert_ok(details);
@@ -3555,13 +3573,13 @@ var $;
3555
3573
  }
3556
3574
  }
3557
3575
  __decorate([
3558
- $mol_wire_mem(0)
3576
+ $mol_wire_solo
3559
3577
  ], App, "resets", null);
3560
3578
  __decorate([
3561
- $mol_wire_mem(0)
3579
+ $mol_wire_solo
3562
3580
  ], App, "value", null);
3563
3581
  __decorate([
3564
- $mol_wire_mem(0)
3582
+ $mol_wire_solo
3565
3583
  ], App, "result", null);
3566
3584
  __decorate([
3567
3585
  $mol_wire_method
@@ -3571,6 +3589,52 @@ var $;
3571
3589
  $mol_wire_fiber.sync();
3572
3590
  $mol_assert_equal(await $mol_wire_async(App).result(), 1);
3573
3591
  },
3592
+ 'Owned value has js-path name'() {
3593
+ class App extends $mol_object2 {
3594
+ static title() {
3595
+ return new $mol_object2;
3596
+ }
3597
+ }
3598
+ __decorate([
3599
+ $mol_wire_solo
3600
+ ], App, "title", null);
3601
+ $mol_assert_equal(`${App.title()}`, 'App.title()');
3602
+ },
3603
+ 'Unsubscribe from temp pubs on complete'($) {
3604
+ class Random extends $mol_object2 {
3605
+ static $ = $;
3606
+ static seed() {
3607
+ return Math.random();
3608
+ }
3609
+ static resets(next) {
3610
+ return Math.random();
3611
+ }
3612
+ static value() {
3613
+ this.resets();
3614
+ return this.seed();
3615
+ }
3616
+ }
3617
+ __decorate([
3618
+ $mol_wire_method
3619
+ ], Random, "seed", null);
3620
+ __decorate([
3621
+ $mol_wire_solo
3622
+ ], Random, "resets", null);
3623
+ __decorate([
3624
+ $mol_wire_solo
3625
+ ], Random, "value", null);
3626
+ const first = Random.value();
3627
+ Random.resets(null);
3628
+ $mol_assert_unique(Random.value(), first);
3629
+ },
3630
+ });
3631
+ })($ || ($ = {}));
3632
+ //mol/wire/solo/solo.test.ts
3633
+ ;
3634
+ "use strict";
3635
+ var $;
3636
+ (function ($_1) {
3637
+ $mol_test({
3574
3638
  'Memoize by single simple key'($) {
3575
3639
  class Team extends $mol_object2 {
3576
3640
  static $ = $;
@@ -3583,18 +3647,13 @@ var $;
3583
3647
  this.user_name('john'),
3584
3648
  ];
3585
3649
  }
3586
- static test() {
3587
- }
3588
3650
  }
3589
3651
  __decorate([
3590
- $mol_wire_mem(1)
3652
+ $mol_wire_plex
3591
3653
  ], Team, "user_name", null);
3592
3654
  __decorate([
3593
- $mol_wire_mem(1)
3655
+ $mol_wire_solo
3594
3656
  ], Team, "user_names", null);
3595
- __decorate([
3596
- $mol_wire_method
3597
- ], Team, "test", null);
3598
3657
  $mol_assert_like(Team.user_names(), ['jin', 'john']);
3599
3658
  Team.user_name('jin', 'JIN');
3600
3659
  $mol_assert_like(Team.user_names(), ['JIN', 'john']);
@@ -3611,26 +3670,7 @@ var $;
3611
3670
  }
3612
3671
  }
3613
3672
  __decorate([
3614
- $mol_wire_mem(1)
3615
- ], Map, "tile", null);
3616
- __decorate([
3617
- $mol_wire_method
3618
- ], Map, "test", null);
3619
- Map.test();
3620
- },
3621
- 'Memoize by multiple keys'($) {
3622
- class Map extends $mol_object2 {
3623
- static $ = $;
3624
- static tile(x, y) {
3625
- return new String(`/tile=${x},${y}`);
3626
- }
3627
- static test() {
3628
- $mol_assert_like(this.tile(0, 1), new String('/tile=0,1'));
3629
- $mol_assert_equal(this.tile(0, 1), this.tile(0, 1));
3630
- }
3631
- }
3632
- __decorate([
3633
- $mol_wire_mem(2)
3673
+ $mol_wire_plex
3634
3674
  ], Map, "tile", null);
3635
3675
  __decorate([
3636
3676
  $mol_wire_method
@@ -3639,28 +3679,21 @@ var $;
3639
3679
  },
3640
3680
  'Owned value has js-path name'() {
3641
3681
  class App extends $mol_object2 {
3642
- static title() {
3643
- return new $mol_object2;
3644
- }
3645
3682
  static like(friend) {
3646
3683
  return new $mol_object2;
3647
3684
  }
3648
- static relation(friend, props) {
3685
+ static relation([friend, props]) {
3649
3686
  return new $mol_object2;
3650
3687
  }
3651
3688
  }
3652
3689
  __decorate([
3653
- $mol_wire_mem(0)
3654
- ], App, "title", null);
3655
- __decorate([
3656
- $mol_wire_mem(1)
3690
+ $mol_wire_plex
3657
3691
  ], App, "like", null);
3658
3692
  __decorate([
3659
- $mol_wire_mem(2)
3693
+ $mol_wire_plex
3660
3694
  ], App, "relation", null);
3661
- $mol_assert_equal(`${App.title()}`, 'App.title()');
3662
3695
  $mol_assert_equal(`${App.like(123)}`, 'App.like(123)');
3663
- $mol_assert_equal(`${App.relation(123, [456])}`, 'App.relation(123,[456])');
3696
+ $mol_assert_equal(`${App.relation([123, [456]])}`, 'App.relation([123,[456]])');
3664
3697
  },
3665
3698
  'Deep deps'($) {
3666
3699
  class Fib extends $mol_object2 {
@@ -3676,7 +3709,7 @@ var $;
3676
3709
  }
3677
3710
  }
3678
3711
  __decorate([
3679
- $mol_wire_mem(1)
3712
+ $mol_wire_plex
3680
3713
  ], Fib, "value", null);
3681
3714
  $mol_assert_equal(Fib.value(4), 5);
3682
3715
  $mol_assert_equal(Fib.sums, 3);
@@ -3684,36 +3717,9 @@ var $;
3684
3717
  $mol_assert_equal(Fib.value(4), 8);
3685
3718
  $mol_assert_equal(Fib.sums, 6);
3686
3719
  },
3687
- 'Unsubscribe from temp pubs on complete'($) {
3688
- class Random extends $mol_object2 {
3689
- static $ = $;
3690
- static seed() {
3691
- return Math.random();
3692
- }
3693
- static resets(next) {
3694
- return Math.random();
3695
- }
3696
- static value() {
3697
- this.resets();
3698
- return this.seed();
3699
- }
3700
- }
3701
- __decorate([
3702
- $mol_wire_method
3703
- ], Random, "seed", null);
3704
- __decorate([
3705
- $mol_wire_mem(0)
3706
- ], Random, "resets", null);
3707
- __decorate([
3708
- $mol_wire_mem(0)
3709
- ], Random, "value", null);
3710
- const first = Random.value();
3711
- Random.resets(null);
3712
- $mol_assert_unique(Random.value(), first);
3713
- },
3714
3720
  });
3715
3721
  })($ || ($ = {}));
3716
- //mol/wire/mem/mem.test.ts
3722
+ //mol/wire/plex/plex.test.ts
3717
3723
  ;
3718
3724
  "use strict";
3719
3725
  var $;
@@ -3731,7 +3737,7 @@ var $;
3731
3737
  }
3732
3738
  }
3733
3739
  __decorate([
3734
- $mol_wire_mem(0)
3740
+ $mol_wire_solo
3735
3741
  ], Cache, "store", null);
3736
3742
  $mol_assert_like(Cache.store(), {});
3737
3743
  $mol_assert_like(Cache.store({ foo: 666 }), { foo: 666 });
@@ -3864,7 +3870,7 @@ var $;
3864
3870
  }
3865
3871
  }
3866
3872
  __decorate([
3867
- $mol_wire_mem(0)
3873
+ $mol_wire_solo
3868
3874
  ], App, "lucky", null);
3869
3875
  $mol_assert_equal(App.lucky(), false);
3870
3876
  App.set.add(666);
@@ -3883,7 +3889,7 @@ var $;
3883
3889
  }
3884
3890
  }
3885
3891
  __decorate([
3886
- $mol_wire_mem(0)
3892
+ $mol_wire_solo
3887
3893
  ], App, "lucky", null);
3888
3894
  $mol_assert_equal(App.lucky(), false);
3889
3895
  App.set.item(666, true);
@@ -3902,7 +3908,7 @@ var $;
3902
3908
  }
3903
3909
  }
3904
3910
  __decorate([
3905
- $mol_wire_mem(0)
3911
+ $mol_wire_solo
3906
3912
  ], App, "size", null);
3907
3913
  $mol_assert_equal(App.size(), 0);
3908
3914
  App.set.add(666);
@@ -3925,7 +3931,7 @@ var $;
3925
3931
  }
3926
3932
  }
3927
3933
  __decorate([
3928
- $mol_wire_mem(0)
3934
+ $mol_wire_solo
3929
3935
  ], App, "sum", null);
3930
3936
  $mol_assert_equal(App.sum(), 0);
3931
3937
  App.set.add(111);
@@ -3946,7 +3952,7 @@ var $;
3946
3952
  }
3947
3953
  }
3948
3954
  __decorate([
3949
- $mol_wire_mem(0)
3955
+ $mol_wire_solo
3950
3956
  ], App, "sum", null);
3951
3957
  $mol_assert_equal(App.sum(), 0);
3952
3958
  App.set.add(111);
@@ -3973,7 +3979,7 @@ var $;
3973
3979
  }
3974
3980
  }
3975
3981
  __decorate([
3976
- $mol_wire_mem(0)
3982
+ $mol_wire_solo
3977
3983
  ], App, "lucky", null);
3978
3984
  $mol_assert_equal(App.lucky(), undefined);
3979
3985
  App.dict.set(666, 6666);
@@ -3992,7 +3998,7 @@ var $;
3992
3998
  }
3993
3999
  }
3994
4000
  __decorate([
3995
- $mol_wire_mem(0)
4001
+ $mol_wire_solo
3996
4002
  ], App, "lucky", null);
3997
4003
  $mol_assert_equal(App.lucky(), null);
3998
4004
  App.dict.item(666, 6666);
@@ -4011,7 +4017,7 @@ var $;
4011
4017
  }
4012
4018
  }
4013
4019
  __decorate([
4014
- $mol_wire_mem(0)
4020
+ $mol_wire_solo
4015
4021
  ], App, "size", null);
4016
4022
  $mol_assert_equal(App.size(), 0);
4017
4023
  App.dict.set(666, 6666);
@@ -4036,7 +4042,7 @@ var $;
4036
4042
  }
4037
4043
  }
4038
4044
  __decorate([
4039
- $mol_wire_mem(0)
4045
+ $mol_wire_solo
4040
4046
  ], App, "sum", null);
4041
4047
  $mol_assert_like(App.sum(), [0, 0]);
4042
4048
  App.dict.set(111, 1111);
@@ -4061,7 +4067,7 @@ var $;
4061
4067
  }
4062
4068
  }
4063
4069
  __decorate([
4064
- $mol_wire_mem(0)
4070
+ $mol_wire_solo
4065
4071
  ], App, "sum", null);
4066
4072
  $mol_assert_like(App.sum(), [0, 0]);
4067
4073
  App.dict.set(111, 1111);