@zajno/common 1.3.10 → 1.3.14
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/coverage/clover.xml +68 -49
- package/coverage/coverage-final.json +3 -2
- package/coverage/lcov-report/index.html +26 -26
- package/coverage/lcov-report/src/__tests__/helpers/index.html +1 -1
- package/coverage/lcov-report/src/__tests__/helpers/main.ts.html +1 -1
- package/coverage/lcov-report/src/async/arrays.ts.html +1 -1
- package/coverage/lcov-report/src/async/index.html +1 -1
- package/coverage/lcov-report/src/dates/calc.ts.html +1 -1
- package/coverage/lcov-report/src/dates/convert.ts.html +1 -1
- package/coverage/lcov-report/src/dates/datex.ts.html +1 -1
- package/coverage/lcov-report/src/dates/format.ts.html +1 -1
- package/coverage/lcov-report/src/dates/index.html +1 -1
- package/coverage/lcov-report/src/dates/index.ts.html +1 -1
- package/coverage/lcov-report/src/dates/parse.ts.html +1 -1
- package/coverage/lcov-report/src/dates/period.ts.html +1 -1
- package/coverage/lcov-report/src/dates/shift.ts.html +1 -1
- package/coverage/lcov-report/src/dates/types.ts.html +1 -1
- package/coverage/lcov-report/src/dates/yearDate.ts.html +1 -1
- package/coverage/lcov-report/src/enumHelper.ts.html +1 -1
- package/coverage/lcov-report/src/event.ts.html +1 -1
- package/coverage/lcov-report/src/fields/index.html +15 -15
- package/coverage/lcov-report/src/fields/update.ts.html +69 -12
- package/coverage/lcov-report/src/functions.ts.html +122 -0
- package/coverage/lcov-report/src/index.html +32 -17
- package/coverage/lcov-report/src/lazy.light.ts.html +33 -21
- package/coverage/lcov-report/src/logger/batch.ts.html +1 -1
- package/coverage/lcov-report/src/logger/console.ts.html +1 -1
- package/coverage/lcov-report/src/logger/index.html +1 -1
- package/coverage/lcov-report/src/logger/index.ts.html +1 -1
- package/coverage/lcov-report/src/logger/named.ts.html +1 -1
- package/coverage/lcov-report/src/logger/proxy.ts.html +1 -1
- package/coverage/lcov-report/src/math/arrays.ts.html +1 -1
- package/coverage/lcov-report/src/math/calc.ts.html +1 -1
- package/coverage/lcov-report/src/math/distribution.ts.html +1 -1
- package/coverage/lcov-report/src/math/index.html +1 -1
- package/coverage/lcov-report/src/math/index.ts.html +1 -1
- package/coverage/lcov-report/src/transitionObserver.ts.html +1 -1
- package/coverage/lcov-report/src/types.ts.html +1 -1
- package/coverage/lcov-report/src/validation/ValidationErrors.ts.html +1 -1
- package/coverage/lcov-report/src/validation/creditCard.ts.html +1 -1
- package/coverage/lcov-report/src/validation/helpers.ts.html +1 -1
- package/coverage/lcov-report/src/validation/index.html +1 -1
- package/coverage/lcov-report/src/validation/index.ts.html +1 -1
- package/coverage/lcov-report/src/validation/types.ts.html +1 -1
- package/coverage/lcov-report/src/validation/validators.ts.html +1 -1
- package/coverage/lcov-report/src/validation/wrappers.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/FlagModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/MultiSelectModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/NumberModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/SelectModel.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/Validatable.ts.html +1 -1
- package/coverage/lcov-report/src/viewModels/index.html +1 -1
- package/coverage/lcov-report/src/viewModels/wrappers.ts.html +1 -1
- package/coverage/lcov.info +172 -113
- package/lib/disposer.d.ts.map +1 -1
- package/lib/disposer.js +3 -1
- package/lib/disposer.js.map +1 -1
- package/lib/fields/update.d.ts +8 -2
- package/lib/fields/update.d.ts.map +1 -1
- package/lib/fields/update.js +13 -1
- package/lib/fields/update.js.map +1 -1
- package/lib/functions.d.ts +1 -2
- package/lib/functions.d.ts.map +1 -1
- package/lib/functions.js.map +1 -1
- package/lib/lazy.d.ts +6 -2
- package/lib/lazy.d.ts.map +1 -1
- package/lib/lazy.js +22 -12
- package/lib/lazy.js.map +1 -1
- package/lib/lazy.light.d.ts +2 -1
- package/lib/lazy.light.d.ts.map +1 -1
- package/lib/lazy.light.js +11 -9
- package/lib/lazy.light.js.map +1 -1
- package/lib/pool.d.ts +12 -4
- package/lib/pool.d.ts.map +1 -1
- package/lib/pool.js +28 -5
- package/lib/pool.js.map +1 -1
- package/package.json +5 -3
- package/src/disposer.ts +4 -1
- package/src/fields/update.ts +22 -3
- package/src/functions.ts +1 -3
- package/src/lazy.light.ts +15 -11
- package/src/lazy.ts +22 -15
- package/src/pool.ts +31 -8
- package/tsconfig.json +6 -4
- package/yarn-error.log +3709 -0
- package/yarn.lock +1 -1
package/coverage/lcov.info
CHANGED
|
@@ -209,28 +209,50 @@ BRF:6
|
|
|
209
209
|
BRH:4
|
|
210
210
|
end_of_record
|
|
211
211
|
TN:
|
|
212
|
+
SF:src/functions.ts
|
|
213
|
+
FN:10,safeCall
|
|
214
|
+
FNF:1
|
|
215
|
+
FNH:1
|
|
216
|
+
FNDA:17,safeCall
|
|
217
|
+
DA:10,1
|
|
218
|
+
DA:11,17
|
|
219
|
+
DA:12,0
|
|
220
|
+
LF:3
|
|
221
|
+
LH:2
|
|
222
|
+
BRDA:11,0,0,0
|
|
223
|
+
BRDA:11,0,1,17
|
|
224
|
+
BRF:2
|
|
225
|
+
BRH:1
|
|
226
|
+
end_of_record
|
|
227
|
+
TN:
|
|
212
228
|
SF:src/lazy.light.ts
|
|
213
|
-
FN:
|
|
214
|
-
FN:
|
|
215
|
-
FN:
|
|
216
|
-
FN:
|
|
217
|
-
|
|
229
|
+
FN:10,createLazy
|
|
230
|
+
FN:15,(anonymous_1)
|
|
231
|
+
FN:21,(anonymous_2)
|
|
232
|
+
FN:22,(anonymous_3)
|
|
233
|
+
FN:25,(anonymous_4)
|
|
234
|
+
FNF:5
|
|
218
235
|
FNH:3
|
|
219
236
|
FNDA:11,createLazy
|
|
220
237
|
FNDA:19,(anonymous_1)
|
|
221
238
|
FNDA:27,(anonymous_2)
|
|
222
239
|
FNDA:0,(anonymous_3)
|
|
223
|
-
|
|
224
|
-
DA:10,
|
|
225
|
-
DA:
|
|
226
|
-
DA:
|
|
227
|
-
DA:
|
|
228
|
-
DA:19
|
|
229
|
-
DA:
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
240
|
+
FNDA:0,(anonymous_4)
|
|
241
|
+
DA:10,2
|
|
242
|
+
DA:11,11
|
|
243
|
+
DA:12,11
|
|
244
|
+
DA:14,11
|
|
245
|
+
DA:16,19
|
|
246
|
+
DA:17,1
|
|
247
|
+
DA:19,19
|
|
248
|
+
DA:21,27
|
|
249
|
+
DA:23,0
|
|
250
|
+
DA:25,0
|
|
251
|
+
DA:28,11
|
|
252
|
+
LF:11
|
|
253
|
+
LH:9
|
|
254
|
+
BRDA:16,0,0,1
|
|
255
|
+
BRDA:16,0,1,18
|
|
234
256
|
BRF:2
|
|
235
257
|
BRH:2
|
|
236
258
|
end_of_record
|
|
@@ -1343,17 +1365,17 @@ BRH:51
|
|
|
1343
1365
|
end_of_record
|
|
1344
1366
|
TN:
|
|
1345
1367
|
SF:src/fields/update.ts
|
|
1346
|
-
FN:
|
|
1347
|
-
FN:
|
|
1348
|
-
FN:
|
|
1349
|
-
FN:
|
|
1350
|
-
FN:
|
|
1351
|
-
FN:
|
|
1352
|
-
FN:
|
|
1353
|
-
FN:
|
|
1354
|
-
FN:
|
|
1355
|
-
FN:
|
|
1356
|
-
FN:
|
|
1368
|
+
FN:12,updateField
|
|
1369
|
+
FN:13,(anonymous_1)
|
|
1370
|
+
FN:13,(anonymous_2)
|
|
1371
|
+
FN:16,updateFieldExtended
|
|
1372
|
+
FN:25,(anonymous_4)
|
|
1373
|
+
FN:39,(anonymous_5)
|
|
1374
|
+
FN:40,(anonymous_6)
|
|
1375
|
+
FN:57,updateArray
|
|
1376
|
+
FN:80,(anonymous_8)
|
|
1377
|
+
FN:92,(anonymous_9)
|
|
1378
|
+
FN:93,(anonymous_10)
|
|
1357
1379
|
FNF:11
|
|
1358
1380
|
FNH:5
|
|
1359
1381
|
FNDA:0,updateField
|
|
@@ -1367,97 +1389,134 @@ FNDA:6,updateArray
|
|
|
1367
1389
|
FNDA:31,(anonymous_8)
|
|
1368
1390
|
FNDA:12,(anonymous_9)
|
|
1369
1391
|
FNDA:15,(anonymous_10)
|
|
1370
|
-
DA:
|
|
1371
|
-
DA:12,
|
|
1372
|
-
DA:
|
|
1373
|
-
DA:
|
|
1374
|
-
DA:
|
|
1375
|
-
DA:
|
|
1392
|
+
DA:1,1
|
|
1393
|
+
DA:12,1
|
|
1394
|
+
DA:13,0
|
|
1395
|
+
DA:16,1
|
|
1396
|
+
DA:25,0
|
|
1397
|
+
DA:27,0
|
|
1376
1398
|
DA:29,0
|
|
1377
1399
|
DA:30,0
|
|
1378
1400
|
DA:31,0
|
|
1379
|
-
DA:
|
|
1380
|
-
DA:
|
|
1381
|
-
DA:39,
|
|
1382
|
-
DA:
|
|
1383
|
-
DA:
|
|
1384
|
-
DA:
|
|
1385
|
-
DA:
|
|
1386
|
-
DA:
|
|
1387
|
-
DA:63,5
|
|
1388
|
-
DA:64,5
|
|
1401
|
+
DA:32,0
|
|
1402
|
+
DA:35,0
|
|
1403
|
+
DA:39,38
|
|
1404
|
+
DA:40,1
|
|
1405
|
+
DA:57,1
|
|
1406
|
+
DA:62,6
|
|
1407
|
+
DA:63,1
|
|
1408
|
+
DA:66,5
|
|
1389
1409
|
DA:67,5
|
|
1390
|
-
DA:
|
|
1391
|
-
DA:
|
|
1392
|
-
DA:
|
|
1393
|
-
DA:
|
|
1394
|
-
DA:
|
|
1410
|
+
DA:71,5
|
|
1411
|
+
DA:72,5
|
|
1412
|
+
DA:73,5
|
|
1413
|
+
DA:74,5
|
|
1414
|
+
DA:75,5
|
|
1395
1415
|
DA:78,5
|
|
1396
|
-
DA:79,
|
|
1397
|
-
DA:80,
|
|
1398
|
-
DA:
|
|
1399
|
-
DA:
|
|
1400
|
-
DA:
|
|
1401
|
-
DA:
|
|
1402
|
-
DA:
|
|
1403
|
-
DA:
|
|
1404
|
-
DA:
|
|
1405
|
-
DA:
|
|
1406
|
-
DA:
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
BRDA:
|
|
1421
|
-
BRDA:
|
|
1422
|
-
BRDA:
|
|
1423
|
-
BRDA:
|
|
1424
|
-
BRDA:
|
|
1425
|
-
BRDA:
|
|
1426
|
-
BRDA:
|
|
1427
|
-
BRDA:
|
|
1428
|
-
BRDA:
|
|
1429
|
-
BRDA:
|
|
1430
|
-
BRDA:
|
|
1431
|
-
BRDA:
|
|
1432
|
-
BRDA:
|
|
1433
|
-
BRDA:
|
|
1434
|
-
BRDA:
|
|
1435
|
-
BRDA:
|
|
1436
|
-
BRDA:
|
|
1437
|
-
BRDA:
|
|
1438
|
-
BRDA:
|
|
1439
|
-
BRDA:
|
|
1440
|
-
BRDA:
|
|
1441
|
-
BRDA:
|
|
1442
|
-
BRDA:
|
|
1443
|
-
BRDA:
|
|
1444
|
-
BRDA:
|
|
1445
|
-
BRDA:
|
|
1446
|
-
BRDA:
|
|
1447
|
-
BRDA:
|
|
1448
|
-
BRDA:
|
|
1449
|
-
BRDA:
|
|
1450
|
-
BRDA:
|
|
1451
|
-
BRDA:
|
|
1452
|
-
BRDA:
|
|
1453
|
-
BRDA:
|
|
1454
|
-
BRDA:
|
|
1455
|
-
BRDA:
|
|
1456
|
-
BRDA:
|
|
1457
|
-
BRDA:
|
|
1458
|
-
BRDA:
|
|
1459
|
-
|
|
1460
|
-
|
|
1416
|
+
DA:79,5
|
|
1417
|
+
DA:80,31
|
|
1418
|
+
DA:82,10
|
|
1419
|
+
DA:83,10
|
|
1420
|
+
DA:85,10
|
|
1421
|
+
DA:86,10
|
|
1422
|
+
DA:92,5
|
|
1423
|
+
DA:93,15
|
|
1424
|
+
DA:94,12
|
|
1425
|
+
DA:95,12
|
|
1426
|
+
DA:96,7
|
|
1427
|
+
DA:97,7
|
|
1428
|
+
DA:98,7
|
|
1429
|
+
DA:99,5
|
|
1430
|
+
DA:100,1
|
|
1431
|
+
DA:101,1
|
|
1432
|
+
DA:102,1
|
|
1433
|
+
DA:103,0
|
|
1434
|
+
DA:108,5
|
|
1435
|
+
DA:109,5
|
|
1436
|
+
DA:110,4
|
|
1437
|
+
DA:113,5
|
|
1438
|
+
LF:46
|
|
1439
|
+
LH:37
|
|
1440
|
+
BRDA:12,0,0,0
|
|
1441
|
+
BRDA:22,1,0,0
|
|
1442
|
+
BRDA:25,2,0,0
|
|
1443
|
+
BRDA:25,2,1,0
|
|
1444
|
+
BRDA:29,3,0,0
|
|
1445
|
+
BRDA:29,3,1,0
|
|
1446
|
+
BRDA:29,4,0,0
|
|
1447
|
+
BRDA:29,4,1,0
|
|
1448
|
+
BRDA:62,5,0,1
|
|
1449
|
+
BRDA:62,5,1,5
|
|
1450
|
+
BRDA:68,6,0,5
|
|
1451
|
+
BRDA:68,6,1,0
|
|
1452
|
+
BRDA:68,7,0,2
|
|
1453
|
+
BRDA:68,7,1,3
|
|
1454
|
+
BRDA:68,8,0,2
|
|
1455
|
+
BRDA:68,8,1,3
|
|
1456
|
+
BRDA:68,9,0,5
|
|
1457
|
+
BRDA:68,9,1,5
|
|
1458
|
+
BRDA:71,10,0,5
|
|
1459
|
+
BRDA:71,10,1,4
|
|
1460
|
+
BRDA:71,11,0,2
|
|
1461
|
+
BRDA:71,11,1,3
|
|
1462
|
+
BRDA:71,12,0,5
|
|
1463
|
+
BRDA:71,12,1,5
|
|
1464
|
+
BRDA:72,13,0,5
|
|
1465
|
+
BRDA:72,13,1,4
|
|
1466
|
+
BRDA:72,14,0,2
|
|
1467
|
+
BRDA:72,14,1,3
|
|
1468
|
+
BRDA:72,15,0,5
|
|
1469
|
+
BRDA:72,15,1,5
|
|
1470
|
+
BRDA:73,16,0,5
|
|
1471
|
+
BRDA:73,16,1,0
|
|
1472
|
+
BRDA:73,17,0,5
|
|
1473
|
+
BRDA:73,17,1,5
|
|
1474
|
+
BRDA:73,18,0,2
|
|
1475
|
+
BRDA:73,18,1,3
|
|
1476
|
+
BRDA:73,19,0,5
|
|
1477
|
+
BRDA:73,19,1,5
|
|
1478
|
+
BRDA:74,20,0,5
|
|
1479
|
+
BRDA:74,20,1,0
|
|
1480
|
+
BRDA:74,21,0,5
|
|
1481
|
+
BRDA:74,21,1,5
|
|
1482
|
+
BRDA:74,22,0,2
|
|
1483
|
+
BRDA:74,22,1,3
|
|
1484
|
+
BRDA:74,23,0,5
|
|
1485
|
+
BRDA:74,23,1,5
|
|
1486
|
+
BRDA:75,24,0,5
|
|
1487
|
+
BRDA:75,24,1,0
|
|
1488
|
+
BRDA:75,25,0,5
|
|
1489
|
+
BRDA:75,25,1,5
|
|
1490
|
+
BRDA:75,26,0,2
|
|
1491
|
+
BRDA:75,26,1,3
|
|
1492
|
+
BRDA:75,27,0,5
|
|
1493
|
+
BRDA:75,27,1,5
|
|
1494
|
+
BRDA:78,28,0,5
|
|
1495
|
+
BRDA:78,28,1,0
|
|
1496
|
+
BRDA:78,29,0,2
|
|
1497
|
+
BRDA:78,29,1,3
|
|
1498
|
+
BRDA:78,30,0,5
|
|
1499
|
+
BRDA:78,30,1,5
|
|
1500
|
+
BRDA:80,31,0,10
|
|
1501
|
+
BRDA:80,31,1,5
|
|
1502
|
+
BRDA:95,32,0,7
|
|
1503
|
+
BRDA:95,32,1,5
|
|
1504
|
+
BRDA:99,33,0,1
|
|
1505
|
+
BRDA:99,33,1,4
|
|
1506
|
+
BRDA:100,34,0,0
|
|
1507
|
+
BRDA:100,34,1,1
|
|
1508
|
+
BRDA:102,35,0,0
|
|
1509
|
+
BRDA:102,35,1,1
|
|
1510
|
+
BRDA:108,36,0,2
|
|
1511
|
+
BRDA:108,36,1,3
|
|
1512
|
+
BRDA:108,37,0,5
|
|
1513
|
+
BRDA:108,37,1,5
|
|
1514
|
+
BRDA:109,38,0,4
|
|
1515
|
+
BRDA:109,38,1,1
|
|
1516
|
+
BRDA:110,39,0,4
|
|
1517
|
+
BRDA:110,39,1,3
|
|
1518
|
+
BRF:78
|
|
1519
|
+
BRH:63
|
|
1461
1520
|
end_of_record
|
|
1462
1521
|
TN:
|
|
1463
1522
|
SF:src/logger/batch.ts
|
package/lib/disposer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"disposer.d.ts","sourceRoot":"","sources":["../src/disposer.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IACxB,OAAO,IAAI,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC5B,IAAI,IAAI,CAAC;CACZ;AAED,qBAAa,QAAQ;IAKL,QAAQ,CAAC,OAAO,EAAE,MAAM;IAHpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsC;gBAEtC,OAAO,GAAE,MAAa;IAE3C,GAAG,CAAC,CAAC,EAAE,eAAe,GAAG,WAAW,EAAE,EAAE,CAAC,EAAE,MAAM;IAqBjD,OAAO,CAAC,EAAE,EAAE,MAAM;IAelB,OAAO,CAAC,GAAG,UAAQ;
|
|
1
|
+
{"version":3,"file":"disposer.d.ts","sourceRoot":"","sources":["../src/disposer.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IACxB,OAAO,IAAI,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC5B,IAAI,IAAI,CAAC;CACZ;AAED,qBAAa,QAAQ;IAKL,QAAQ,CAAC,OAAO,EAAE,MAAM;IAHpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsC;gBAEtC,OAAO,GAAE,MAAa;IAE3C,GAAG,CAAC,CAAC,EAAE,eAAe,GAAG,WAAW,EAAE,EAAE,CAAC,EAAE,MAAM;IAqBjD,OAAO,CAAC,EAAE,EAAE,MAAM;IAelB,OAAO,CAAC,GAAG,UAAQ;CAetB;AAED,wBAAgB,gBAAgB,CAAC,GAAG,KAAK,EAAE,eAAe,EAAE,GAAG,eAAe,CAE7E;AAED,qBAAa,UAAW,YAAW,WAAW;IAE1C,SAAS,CAAC,QAAQ,CAAC,QAAQ,WAAkB;IAC7C,SAAS,CAAC,WAAW,UAAS;IAEvB,OAAO,aAGZ;CACL"}
|
package/lib/disposer.js
CHANGED
|
@@ -41,9 +41,11 @@ class Disposer {
|
|
|
41
41
|
if (log) {
|
|
42
42
|
logger_1.default.log(`[Disposer:${this.logName || '<unknown>'}] Disposing ${this._disposers.length} items including named ones:`, Array.from(this._map.entries()).map(e => e[0]));
|
|
43
43
|
}
|
|
44
|
-
this._disposers.
|
|
44
|
+
const copy = this._disposers.slice().reverse();
|
|
45
45
|
this._disposers.length = 0;
|
|
46
46
|
this._map.clear();
|
|
47
|
+
// this should separate side effects
|
|
48
|
+
copy.forEach(d => d());
|
|
47
49
|
}
|
|
48
50
|
}
|
|
49
51
|
exports.Disposer = Disposer;
|
package/lib/disposer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"disposer.js","sourceRoot":"","sources":["../src/disposer.ts"],"names":[],"mappings":";;;;AAAA,8DAA8B;AAU9B,MAAa,QAAQ;IAKjB,YAAqB,UAAkB,IAAI;QAAtB,YAAO,GAAP,OAAO,CAAe;QAH1B,eAAU,GAAsB,EAAE,CAAC;QACnC,SAAI,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEZ,CAAC;IAEhD,GAAG,CAAC,CAAgC,EAAE,EAAW;QAC7C,IAAI,CAAC,CAAC,EAAE;YACJ,OAAO;SACV;QAED,MAAM,EAAE,GAAoB,OAAO,CAAC,KAAK,UAAU;YAC/C,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACxC,CAAC,CAAC,CAAC,CAAC;QAER,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEzB,IAAI,EAAE,EAAE;YACJ,uCAAuC;YACvC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBACnB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aACpB;YAED,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;SACzB;IACL,CAAC;IAED,OAAO,CAAC,EAAU;QACd,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,CAAC,CAAC,EAAE;YACJ,OAAO;SACV;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrB,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,EAAE;YACR,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAChC;QAED,CAAC,EAAE,CAAC;IACR,CAAC;IAED,OAAO,CAAC,GAAG,GAAG,KAAK;QACf,IAAI,GAAG,EAAE;YACL,gBAAM,CAAC,GAAG,CACN,aAAa,IAAI,CAAC,OAAO,IAAI,WAAW,eAAe,IAAI,CAAC,UAAU,CAAC,MAAM,8BAA8B,EAC3G,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACjD,CAAC;SACL;QAED,IAAI,
|
|
1
|
+
{"version":3,"file":"disposer.js","sourceRoot":"","sources":["../src/disposer.ts"],"names":[],"mappings":";;;;AAAA,8DAA8B;AAU9B,MAAa,QAAQ;IAKjB,YAAqB,UAAkB,IAAI;QAAtB,YAAO,GAAP,OAAO,CAAe;QAH1B,eAAU,GAAsB,EAAE,CAAC;QACnC,SAAI,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEZ,CAAC;IAEhD,GAAG,CAAC,CAAgC,EAAE,EAAW;QAC7C,IAAI,CAAC,CAAC,EAAE;YACJ,OAAO;SACV;QAED,MAAM,EAAE,GAAoB,OAAO,CAAC,KAAK,UAAU;YAC/C,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACxC,CAAC,CAAC,CAAC,CAAC;QAER,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEzB,IAAI,EAAE,EAAE;YACJ,uCAAuC;YACvC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;gBACnB,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aACpB;YAED,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;SACzB;IACL,CAAC;IAED,OAAO,CAAC,EAAU;QACd,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,CAAC,CAAC,EAAE;YACJ,OAAO;SACV;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrB,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,EAAE;YACR,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAChC;QAED,CAAC,EAAE,CAAC;IACR,CAAC;IAED,OAAO,CAAC,GAAG,GAAG,KAAK;QACf,IAAI,GAAG,EAAE;YACL,gBAAM,CAAC,GAAG,CACN,aAAa,IAAI,CAAC,OAAO,IAAI,WAAW,eAAe,IAAI,CAAC,UAAU,CAAC,MAAM,8BAA8B,EAC3G,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACjD,CAAC;SACL;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC;QAC/C,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAElB,oCAAoC;QACpC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;CACJ;AA1DD,4BA0DC;AAED,SAAgB,gBAAgB,CAAC,GAAG,KAAwB;IACxD,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACzC,CAAC;AAFD,4CAEC;AAED,MAAa,UAAU;IAAvB;QAEuB,aAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QACnC,gBAAW,GAAG,KAAK,CAAC;QAEvB,YAAO,GAAG,GAAG,EAAE;YAClB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAC5B,CAAC,CAAC;IACN,CAAC;CAAA;AATD,gCASC"}
|
package/lib/fields/update.d.ts
CHANGED
|
@@ -5,14 +5,20 @@ export declare namespace Fields {
|
|
|
5
5
|
type Comparer<T> = (source: Partial<T>, target: Partial<T>) => boolean;
|
|
6
6
|
type Updater<T> = (target: T, source: T) => T;
|
|
7
7
|
}
|
|
8
|
-
export declare function updateField<T>(target: T, source: Partial<T>, diff: Partial<T>, key: keyof T, hasChanged?: Fields.Comparer<T>): boolean;
|
|
9
|
-
export declare function updateFieldExtended<T>(target: T, source: Partial<T>, diff: Partial<T>, get: Fields.Getter<T>, set: Fields.Setter<T>, hasChanged?: Fields.Comparer<T>): boolean;
|
|
8
|
+
export declare function updateField<T>(target: T, source: Partial<T>, diff: Partial<T>, key: keyof T, hasChanged?: null | Fields.Comparer<T>): boolean;
|
|
9
|
+
export declare function updateFieldExtended<T>(target: T, source: Partial<T>, diff: Partial<T>, get: Fields.Getter<T>, set: Fields.Setter<T>, hasChanged?: null | Fields.Comparer<T>): boolean;
|
|
10
10
|
export declare type UpdateArrayOptions<T> = {
|
|
11
11
|
additive?: boolean;
|
|
12
12
|
clone?: boolean;
|
|
13
13
|
comparator?: Comparator<T>;
|
|
14
14
|
updater?: Fields.Updater<T>;
|
|
15
15
|
sorter?: Comparator<T, number> | null | undefined;
|
|
16
|
+
hooks?: UpdateArrayHooks<T>;
|
|
17
|
+
};
|
|
18
|
+
export declare type UpdateArrayHooks<T> = {
|
|
19
|
+
onAdded?: (item: T) => void;
|
|
20
|
+
onDeleted?: (item: T) => void;
|
|
21
|
+
onUpdated?: (previous: T, next: T) => void;
|
|
16
22
|
};
|
|
17
23
|
export declare function updateArray<T>(target: T[] | null, source: T[], options?: UpdateArrayOptions<T>): {
|
|
18
24
|
changed: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/fields/update.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/fields/update.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,yBAAiB,MAAM,CAAC;IACpB,KAAY,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,KAAY,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC;IACnE,KAAY,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;IAC9E,KAAY,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;CACxD;AAGD,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,UAAU,GAAE,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAQ,GAAG,OAAO,CAEnJ;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EACjC,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAClB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAChB,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EACrB,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EACrB,UAAU,GAAE,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAQ,GAC7C,OAAO,CAcT;AAKD,oBAAY,kBAAkB,CAAC,CAAC,IAAI;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IAClD,KAAK,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;CAC/B,CAAC;AAEF,oBAAY,gBAAgB,CAAC,CAAC,IAAI;IAC9B,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9B,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;CAC9C,CAAC;AAEF,wBAAgB,WAAW,CAAC,CAAC,EACzB,MAAM,EAAE,CAAC,EAAE,GAAG,IAAI,EAClB,MAAM,EAAE,CAAC,EAAE,EACX,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAChC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,CAAC,EAAE,CAAA;CAAE,CAwDlC"}
|
package/lib/fields/update.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.updateArray = exports.updateFieldExtended = exports.updateField = void 0;
|
|
4
|
+
const functions_1 = require("../functions");
|
|
4
5
|
function updateField(target, source, diff, key, hasChanged = null) {
|
|
5
6
|
return updateFieldExtended(target, source, diff, t => t[key], (t, v) => t[key] = v, hasChanged);
|
|
6
7
|
}
|
|
@@ -19,6 +20,7 @@ exports.updateFieldExtended = updateFieldExtended;
|
|
|
19
20
|
const DefaultComparator = (v1, v2) => v1 === v2;
|
|
20
21
|
const DefaultUpdater = (v1, v2) => Object.assign(v1, v2);
|
|
21
22
|
function updateArray(target, source, options) {
|
|
23
|
+
var _a, _b, _c;
|
|
22
24
|
if (!source) {
|
|
23
25
|
return { changed: 0, result: target };
|
|
24
26
|
}
|
|
@@ -28,11 +30,16 @@ function updateArray(target, source, options) {
|
|
|
28
30
|
: [];
|
|
29
31
|
const comparator = (options === null || options === void 0 ? void 0 : options.comparator) || DefaultComparator;
|
|
30
32
|
const updater = (options === null || options === void 0 ? void 0 : options.updater) || DefaultUpdater;
|
|
33
|
+
const onDeleted = (_a = options === null || options === void 0 ? void 0 : options.hooks) === null || _a === void 0 ? void 0 : _a.onDeleted;
|
|
34
|
+
const onUpdate = (_b = options === null || options === void 0 ? void 0 : options.hooks) === null || _b === void 0 ? void 0 : _b.onUpdated;
|
|
35
|
+
const onAdded = (_c = options === null || options === void 0 ? void 0 : options.hooks) === null || _c === void 0 ? void 0 : _c.onAdded;
|
|
31
36
|
// remove all missing elements
|
|
32
37
|
if (!(options === null || options === void 0 ? void 0 : options.additive)) {
|
|
33
38
|
for (let i = 0; i < result.length; ++i) {
|
|
34
39
|
if (source.find(item => comparator(item, result[i])) == null) {
|
|
35
|
-
|
|
40
|
+
// DELETE
|
|
41
|
+
const removed = result.splice(i, 1);
|
|
42
|
+
functions_1.safeCall(onDeleted, removed[0]);
|
|
36
43
|
++changed;
|
|
37
44
|
--i;
|
|
38
45
|
}
|
|
@@ -44,10 +51,15 @@ function updateArray(target, source, options) {
|
|
|
44
51
|
const existingItem = result[existingIndex];
|
|
45
52
|
if (existingIndex < 0) {
|
|
46
53
|
result.push(i);
|
|
54
|
+
functions_1.safeCall(onAdded, i);
|
|
47
55
|
++changed;
|
|
48
56
|
}
|
|
49
57
|
else if (typeof existingItem === 'object') {
|
|
58
|
+
const before = onUpdate != null ? { ...existingItem } : undefined;
|
|
50
59
|
result[existingIndex] = updater(existingItem, i);
|
|
60
|
+
if (onUpdate != null) {
|
|
61
|
+
onUpdate(before, result[existingIndex]);
|
|
62
|
+
}
|
|
51
63
|
}
|
|
52
64
|
});
|
|
53
65
|
const sorter = options === null || options === void 0 ? void 0 : options.sorter;
|
package/lib/fields/update.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/fields/update.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/fields/update.ts"],"names":[],"mappings":";;;AAAA,4CAAwC;AAWxC,SAAgB,WAAW,CAAI,MAAS,EAAE,MAAkB,EAAE,IAAgB,EAAE,GAAY,EAAE,aAAwC,IAAI;IACtI,OAAO,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;AACpG,CAAC;AAFD,kCAEC;AAED,SAAgB,mBAAmB,CAC/B,MAAS,EACT,MAAkB,EAClB,IAAgB,EAChB,GAAqB,EACrB,GAAqB,EACrB,aAAwC,IAAI;IAG5C,UAAU,GAAG,UAAU,IAAI,CAAC,CAAC,EAAK,EAAE,EAAK,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAErE,IAAI,OAAO,GAAG,IAAI,CAAC;IAEnB,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;QACzD,OAAO,GAAG,IAAI,CAAC;QACf,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACvB,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;KAC5B;IAED,OAAO,OAAO,CAAC;AAEnB,CAAC;AArBD,kDAqBC;AAED,MAAM,iBAAiB,GAAoB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;AACjE,MAAM,cAAc,GAAwB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAiB9E,SAAgB,WAAW,CACvB,MAAkB,EAClB,MAAW,EACX,OAA+B;;IAE/B,IAAI,CAAC,MAAM,EAAE;QACT,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;KACzC;IAED,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAChC,CAAC,CAAC,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,EAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QAC5C,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,UAAU,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,KAAI,iBAAiB,CAAC;IAC5D,MAAM,OAAO,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,KAAI,cAAc,CAAC;IACnD,MAAM,SAAS,SAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,0CAAE,SAAS,CAAC;IAC5C,MAAM,QAAQ,SAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,0CAAE,SAAS,CAAC;IAC3C,MAAM,OAAO,SAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,0CAAE,OAAO,CAAC;IAExC,8BAA8B;IAC9B,IAAI,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAA,EAAE;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YACpC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;gBAC1D,SAAS;gBACT,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpC,oBAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEhC,EAAE,OAAO,CAAC;gBACV,EAAE,CAAC,CAAC;aACP;SACJ;KACJ;IAED,2CAA2C;IAC3C,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACf,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QACpE,MAAM,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;QAC3C,IAAI,aAAa,GAAG,CAAC,EAAE;YACnB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACf,oBAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACrB,EAAE,OAAO,CAAC;SACb;aAAM,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;YACzC,MAAM,MAAM,GAAG,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAClE,MAAM,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;YACjD,IAAI,QAAQ,IAAI,IAAI,EAAE;gBAClB,QAAQ,CAAC,MAAO,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;aAC5C;SACJ;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC;IAC/B,IAAI,MAAM,KAAK,IAAI,EAAE;QACjB,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC;KACpC;IAED,OAAO;QACH,MAAM;QACN,OAAO;KACV,CAAC;AACN,CAAC;AA5DD,kCA4DC"}
|
package/lib/functions.d.ts
CHANGED
|
@@ -4,7 +4,6 @@ declare type PropertiesOf<T> = Exclude<{
|
|
|
4
4
|
export declare type RemoveFunctionFields<T> = {
|
|
5
5
|
readonly [P in PropertiesOf<T>]: T[P];
|
|
6
6
|
};
|
|
7
|
-
export declare function safeCall<T extends (...args: any) => any>(cb: T, ...args: Parameters<T>): ReturnType<T
|
|
8
|
-
export declare type SortingFunction<T> = (i1: T, i2: T) => number;
|
|
7
|
+
export declare function safeCall<T extends (...args: any) => any>(cb: T | undefined, ...args: Parameters<T>): ReturnType<T> | void;
|
|
9
8
|
export {};
|
|
10
9
|
//# sourceMappingURL=functions.d.ts.map
|
package/lib/functions.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"AACA,aAAK,YAAY,CAAC,CAAC,IAAI,OAAO,CAAC;KAC1B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,GAAG,KAAK,GAAG,CAAC;CACpD,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAEvB,oBAAY,oBAAoB,CAAC,CAAC,IAAI;IAClC,QAAQ,EAAE,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACxC,CAAC;AAEF,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":"AACA,aAAK,YAAY,CAAC,CAAC,IAAI,OAAO,CAAC;KAC1B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,GAAG,KAAK,GAAG,CAAC;CACpD,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAEvB,oBAAY,oBAAoB,CAAC,CAAC,IAAI;IAClC,QAAQ,EAAE,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACxC,CAAC;AAEF,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,SAAS,EAAE,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAIzH"}
|
package/lib/functions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":";;;AASA,SAAgB,QAAQ,CAAkC,
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../src/functions.ts"],"names":[],"mappings":";;;AASA,SAAgB,QAAQ,CAAkC,EAAiB,EAAE,GAAG,IAAmB;IAC/F,IAAI,EAAE,EAAE;QACJ,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KAC/B;AACL,CAAC;AAJD,4BAIC"}
|
package/lib/lazy.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import type { IDisposable } from 'disposer';
|
|
2
|
+
export default class Lazy<T> implements IDisposable {
|
|
2
3
|
private _factory;
|
|
3
4
|
private _instance;
|
|
4
5
|
constructor(_factory: (() => T));
|
|
@@ -6,8 +7,9 @@ export default class Lazy<T> {
|
|
|
6
7
|
get value(): T;
|
|
7
8
|
prewarm(): T;
|
|
8
9
|
reset(): void;
|
|
10
|
+
dispose: () => void;
|
|
9
11
|
}
|
|
10
|
-
export declare class LazyPromise<T> {
|
|
12
|
+
export declare class LazyPromise<T> implements IDisposable {
|
|
11
13
|
private readonly _factory;
|
|
12
14
|
private readonly initial;
|
|
13
15
|
private _instance;
|
|
@@ -16,6 +18,8 @@ export declare class LazyPromise<T> {
|
|
|
16
18
|
constructor(_factory: () => Promise<T>, initial?: T);
|
|
17
19
|
get busy(): boolean;
|
|
18
20
|
get(): T;
|
|
21
|
+
private setInstance;
|
|
19
22
|
reset(): void;
|
|
23
|
+
dispose: () => void;
|
|
20
24
|
}
|
|
21
25
|
//# sourceMappingURL=lazy.d.ts.map
|
package/lib/lazy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../src/lazy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../src/lazy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG5C,MAAM,CAAC,OAAO,OAAO,IAAI,CAAC,CAAC,CAAE,YAAW,WAAW;IAKnC,OAAO,CAAC,QAAQ;IAF5B,OAAO,CAAC,SAAS,CAAW;gBAER,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC;IAIvC,IAAI,QAAQ,YAAqC;IAEjD,IAAI,KAAK,MAKR;IAED,OAAO;IAIP,KAAK;IAIL,OAAO,aAAsB;CAChC;AAED,qBAAa,WAAW,CAAC,CAAC,CAAE,YAAW,WAAW;IAW1C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAT5B,OAAO,CAAC,SAAS,CAAW;IAG5B,OAAO,CAAC,KAAK,CAAS;IAEtB,OAAO,CAAC,OAAO,CAAS;gBAGH,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC1B,OAAO,GAAE,CAAQ;IAMtC,IAAI,IAAI,YAAyB;IAEjC,GAAG;IAUH,OAAO,CAAC,WAAW,CAMjB;IAGF,KAAK;IAML,OAAO,aAAsB;CAChC"}
|
package/lib/lazy.js
CHANGED
|
@@ -7,6 +7,7 @@ class Lazy {
|
|
|
7
7
|
constructor(_factory) {
|
|
8
8
|
this._factory = _factory;
|
|
9
9
|
this._instance = null;
|
|
10
|
+
this.dispose = () => this.reset();
|
|
10
11
|
mobx_1.makeObservable(this);
|
|
11
12
|
}
|
|
12
13
|
get hasValue() { return this._instance != null; }
|
|
@@ -35,6 +36,13 @@ class LazyPromise {
|
|
|
35
36
|
this._instance = null;
|
|
36
37
|
this._busy = false;
|
|
37
38
|
this._loaded = false;
|
|
39
|
+
this.setInstance = (res) => {
|
|
40
|
+
const wasBusy = this._busy;
|
|
41
|
+
this._busy = false;
|
|
42
|
+
this._loaded = wasBusy;
|
|
43
|
+
this._instance = wasBusy ? res : null;
|
|
44
|
+
};
|
|
45
|
+
this.dispose = () => this.reset();
|
|
38
46
|
mobx_1.makeObservable(this);
|
|
39
47
|
this._instance = initial;
|
|
40
48
|
}
|
|
@@ -42,22 +50,14 @@ class LazyPromise {
|
|
|
42
50
|
get() {
|
|
43
51
|
if (!this._loaded && !this._busy) {
|
|
44
52
|
this._busy = true;
|
|
45
|
-
this._factory().then(
|
|
46
|
-
mobx_1.transaction(() => {
|
|
47
|
-
this._busy = false;
|
|
48
|
-
this._loaded = true;
|
|
49
|
-
this._instance = res;
|
|
50
|
-
});
|
|
51
|
-
});
|
|
53
|
+
this._factory().then(this.setInstance);
|
|
52
54
|
}
|
|
53
55
|
return this._instance;
|
|
54
56
|
}
|
|
55
57
|
reset() {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
this._loaded = false;
|
|
60
|
-
});
|
|
58
|
+
this._busy = false;
|
|
59
|
+
this._instance = this.initial;
|
|
60
|
+
this._loaded = false;
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
tslib_1.__decorate([
|
|
@@ -68,5 +68,15 @@ tslib_1.__decorate([
|
|
|
68
68
|
mobx_1.observable,
|
|
69
69
|
tslib_1.__metadata("design:type", Object)
|
|
70
70
|
], LazyPromise.prototype, "_busy", void 0);
|
|
71
|
+
tslib_1.__decorate([
|
|
72
|
+
mobx_1.action,
|
|
73
|
+
tslib_1.__metadata("design:type", Object)
|
|
74
|
+
], LazyPromise.prototype, "setInstance", void 0);
|
|
75
|
+
tslib_1.__decorate([
|
|
76
|
+
mobx_1.action,
|
|
77
|
+
tslib_1.__metadata("design:type", Function),
|
|
78
|
+
tslib_1.__metadata("design:paramtypes", []),
|
|
79
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
80
|
+
], LazyPromise.prototype, "reset", null);
|
|
71
81
|
exports.LazyPromise = LazyPromise;
|
|
72
82
|
//# sourceMappingURL=lazy.js.map
|
package/lib/lazy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy.js","sourceRoot":"","sources":["../src/lazy.ts"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"lazy.js","sourceRoot":"","sources":["../src/lazy.ts"],"names":[],"mappings":";;;;AACA,+BAA0D;AAE1D,MAAqB,IAAI;IAKrB,YAAoB,QAAmB;QAAnB,aAAQ,GAAR,QAAQ,CAAW;QAF/B,cAAS,GAAM,IAAI,CAAC;QAuB5B,YAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QApBzB,qBAAc,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC;IAEjD,IAAI,KAAK;QACL,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACjB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;SACpC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC;CAGJ;AAxBG;IADC,iBAAU,CAAC,GAAG;;uCACa;AAHhC,uBA2BC;AAED,MAAa,WAAW;IAUpB,YACqB,QAA0B,EAC1B,UAAa,IAAI;QADjB,aAAQ,GAAR,QAAQ,CAAkB;QAC1B,YAAO,GAAP,OAAO,CAAU;QAT9B,cAAS,GAAM,IAAI,CAAC;QAGpB,UAAK,GAAG,KAAK,CAAC;QAEd,YAAO,GAAG,KAAK,CAAC;QAsBhB,gBAAW,GAAG,CAAC,GAAM,EAAE,EAAE;YAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;YAE3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1C,CAAC,CAAC;QASF,YAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QA/BzB,qBAAc,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;IAC7B,CAAC;IAED,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAEjC,GAAG;QACC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAC1C;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAYD,KAAK;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACzB,CAAC;CAGJ;AA3CG;IADC,iBAAU,CAAC,GAAG;;8CACa;AAG5B;IADC,iBAAU;;0CACW;AAwBtB;IADC,aAAM;;gDAOL;AAGF;IADC,aAAM;;;;wCAKN;AA3CL,kCA8CC"}
|
package/lib/lazy.light.d.ts
CHANGED
package/lib/lazy.light.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy.light.d.ts","sourceRoot":"","sources":["../src/lazy.light.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lazy.light.d.ts","sourceRoot":"","sources":["../src/lazy.light.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,oBAAY,SAAS,CAAC,CAAC,IAAI,WAAW,GAAG;IACrC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAE3B,KAAK,IAAI,IAAI,CAAC;CACjB,CAAC;AAEF,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,gBAmB7C"}
|
package/lib/lazy.light.js
CHANGED
|
@@ -2,20 +2,22 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createLazy = void 0;
|
|
4
4
|
function createLazy(factory) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
const _factory = factory;
|
|
6
|
+
let _instance = undefined;
|
|
7
|
+
const res = {
|
|
8
8
|
get value() {
|
|
9
|
-
if (
|
|
10
|
-
|
|
9
|
+
if (_instance === undefined) {
|
|
10
|
+
_instance = _factory();
|
|
11
11
|
}
|
|
12
|
-
return
|
|
12
|
+
return _instance;
|
|
13
13
|
},
|
|
14
|
-
get hasValue() { return
|
|
15
|
-
reset() {
|
|
16
|
-
|
|
14
|
+
get hasValue() { return _instance !== undefined; },
|
|
15
|
+
reset: () => {
|
|
16
|
+
_instance = undefined;
|
|
17
17
|
},
|
|
18
|
+
dispose: () => res.reset(),
|
|
18
19
|
};
|
|
20
|
+
return res;
|
|
19
21
|
}
|
|
20
22
|
exports.createLazy = createLazy;
|
|
21
23
|
//# sourceMappingURL=lazy.light.js.map
|
package/lib/lazy.light.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy.light.js","sourceRoot":"","sources":["../src/lazy.light.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"lazy.light.js","sourceRoot":"","sources":["../src/lazy.light.ts"],"names":[],"mappings":";;;AASA,SAAgB,UAAU,CAAI,OAAgB;IAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC;IACzB,IAAI,SAAS,GAAM,SAAS,CAAC;IAE7B,MAAM,GAAG,GAAiB;QACtB,IAAI,KAAK;YACL,IAAI,SAAS,KAAK,SAAS,EAAE;gBACzB,SAAS,GAAG,QAAQ,EAAE,CAAC;aAC1B;YACD,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,IAAI,QAAQ,KAAK,OAAO,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC;QAClD,KAAK,EAAE,GAAG,EAAE;YACR,SAAS,GAAG,SAAS,CAAC;QAC1B,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE;KAC7B,CAAC;IAEF,OAAO,GAAG,CAAC;AACf,CAAC;AAnBD,gCAmBC"}
|