@k3000/store 1.4.3 → 1.5.0
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/README.md +1 -1
- package/architect.mjs +74 -5
- package/generator.mjs +8 -5
- package/package.json +1 -1
- package/test/1/index +0 -0
- package/test/1/index.mjs +27 -15
- package/test/1/type.ts +9 -6
- package/test/2/data +0 -0
- package/test/2/index +0 -0
- package/test/2/index.mjs +27 -15
- package/test/2/type.ts +10 -6
- package/test/3/data +0 -0
- package/test/3/index +0 -0
- package/test/3/index.mjs +27 -15
- package/test/3/type.ts +10 -6
- package/test/4/data +0 -0
- package/test/4/index +0 -0
- package/test/4/index.mjs +27 -15
- package/test/4/type.ts +10 -6
- package/test/5/data +0 -0
- package/test/5/index +0 -0
- package/test/5/index.mjs +27 -15
- package/test/5/type.ts +10 -6
- package/test/6/data +0 -0
- package/test/6/index +0 -0
- package/test/6/index.mjs +23 -13
- package/test/6/type.ts +8 -5
- package/test/7/data +0 -0
- package/test/7/index +0 -0
- package/test/7/index.mjs +27 -15
- package/test/7/type.ts +9 -6
- package/test/8/data +0 -0
- package/test/8/index +0 -0
- package/test/8/index.mjs +27 -15
- package/test/8/type.ts +9 -6
- package/test.mjs +137 -132
package/test.mjs
CHANGED
|
@@ -365,202 +365,207 @@ function deleteDir(dir) {
|
|
|
365
365
|
rmdirSync(dir)
|
|
366
366
|
}
|
|
367
367
|
|
|
368
|
-
|
|
368
|
+
await new Promise(resolve => {
|
|
369
369
|
|
|
370
|
-
|
|
370
|
+
import('./test/1/index.mjs').then(m => {
|
|
371
371
|
|
|
372
|
-
|
|
372
|
+
const storage = m.default
|
|
373
373
|
|
|
374
|
-
|
|
375
|
-
id: 1,
|
|
376
|
-
uid: 'test',
|
|
377
|
-
pwd: '123456',
|
|
378
|
-
time: new Date('2022/01/01'),
|
|
379
|
-
}
|
|
374
|
+
test('测试基础操作', async t => {
|
|
380
375
|
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
}
|
|
376
|
+
const test = {
|
|
377
|
+
id: 1,
|
|
378
|
+
uid: 'test',
|
|
379
|
+
pwd: '123456',
|
|
380
|
+
time: new Date('2022/01/01'),
|
|
381
|
+
}
|
|
388
382
|
|
|
389
|
-
|
|
383
|
+
const root = {
|
|
384
|
+
id: 2,
|
|
385
|
+
uid: 'root',
|
|
386
|
+
pwd: '123123',
|
|
387
|
+
valid: 1,
|
|
388
|
+
time: new Date('2022/01/01'),
|
|
389
|
+
}
|
|
390
390
|
|
|
391
|
-
|
|
391
|
+
const predicate = item => item.uid === 'root' && item.pwd === '123123'
|
|
392
392
|
|
|
393
|
-
|
|
393
|
+
await t.test('测试查找操作(filter)', _ => {
|
|
394
394
|
|
|
395
|
-
|
|
396
|
-
JSON.stringify(result),
|
|
397
|
-
'[{"id":2,"pwd":"123123","time":1640966400000,"uid":"root","valid":1}]')
|
|
398
|
-
})
|
|
395
|
+
const result = storage.admin.filter(predicate)
|
|
399
396
|
|
|
400
|
-
|
|
397
|
+
assert.strictEqual(
|
|
398
|
+
JSON.stringify(result),
|
|
399
|
+
'[{"id":2,"pwd":"123123","time":1640966400000,"uid":"root","valid":1}]')
|
|
400
|
+
})
|
|
401
401
|
|
|
402
|
-
|
|
402
|
+
await t.test('测试查找操作(page)', _ => {
|
|
403
403
|
|
|
404
|
-
|
|
405
|
-
JSON.stringify(storage.admin.page(_ => 1, 1, 1)),
|
|
406
|
-
JSON.stringify(storage.admin.page(_ => 1, 'index', 'size', params)))
|
|
407
|
-
})
|
|
404
|
+
const params = {key: 'name', index: 1, size: 1}
|
|
408
405
|
|
|
409
|
-
|
|
406
|
+
assert.strictEqual(
|
|
407
|
+
JSON.stringify(storage.admin.page(_ => 1, 1, 1)),
|
|
408
|
+
JSON.stringify(storage.admin.page(_ => 1, 'index', 'size', params)))
|
|
409
|
+
})
|
|
410
410
|
|
|
411
|
-
|
|
411
|
+
await t.test('测试查找操作(find)', _ => {
|
|
412
412
|
|
|
413
|
-
|
|
414
|
-
JSON.stringify({...result}),
|
|
415
|
-
'{"id":2,"pwd":"123123","time":1640966400000,"uid":"root","valid":1}')
|
|
416
|
-
})
|
|
413
|
+
const result = storage.admin.find(predicate)
|
|
417
414
|
|
|
418
|
-
|
|
415
|
+
assert.strictEqual(
|
|
416
|
+
JSON.stringify({...result}),
|
|
417
|
+
'{"id":2,"pwd":"123123","time":1640966400000,"uid":"root","valid":1}')
|
|
418
|
+
})
|
|
419
419
|
|
|
420
|
-
|
|
420
|
+
await t.test('测试查找操作(findIndex)', _ => {
|
|
421
421
|
|
|
422
|
-
|
|
423
|
-
JSON.stringify(result),
|
|
424
|
-
'{"id":2,"pwd":"123123","time":1640966400000,"uid":"root","valid":1}')
|
|
425
|
-
})
|
|
422
|
+
const result = storage.admin[storage.admin.findIndex(predicate)]
|
|
426
423
|
|
|
427
|
-
|
|
424
|
+
assert.strictEqual(
|
|
425
|
+
JSON.stringify(result),
|
|
426
|
+
'{"id":2,"pwd":"123123","time":1640966400000,"uid":"root","valid":1}')
|
|
427
|
+
})
|
|
428
428
|
|
|
429
|
-
|
|
430
|
-
})
|
|
429
|
+
await t.test('测试查找操作(some)', _ => {
|
|
431
430
|
|
|
432
|
-
|
|
431
|
+
assert.strictEqual(storage.admin.some(predicate), true)
|
|
432
|
+
})
|
|
433
433
|
|
|
434
|
-
|
|
434
|
+
await t.test('测试查找操作(通过索引)', _ => {
|
|
435
435
|
|
|
436
|
-
|
|
437
|
-
JSON.stringify(result),
|
|
438
|
-
'[{"id":2,"pwd":"123123","time":1640966400000,"uid":"root","valid":1}]')
|
|
439
|
-
})
|
|
436
|
+
const result = storage.admin.indexByUid('root')
|
|
440
437
|
|
|
441
|
-
|
|
438
|
+
assert.strictEqual(
|
|
439
|
+
JSON.stringify(result),
|
|
440
|
+
'[{"id":2,"pwd":"123123","time":1640966400000,"uid":"root","valid":1}]')
|
|
441
|
+
})
|
|
442
442
|
|
|
443
|
-
|
|
443
|
+
await t.test('测试查找操作(通过索引时间)', _ => {
|
|
444
444
|
|
|
445
|
-
|
|
446
|
-
JSON.stringify(result),
|
|
447
|
-
'[{"id":2,"pwd":"123123","time":1640966400000,"uid":"root","valid":1},{"id":1,"pwd":"123456","time":1640966400000,"uid":"test","valid":0}]')
|
|
448
|
-
})
|
|
445
|
+
const result = storage.admin.indexByTime({before: -Infinity, after: new Date('2023/01/01')})
|
|
449
446
|
|
|
450
|
-
|
|
447
|
+
assert.strictEqual(
|
|
448
|
+
JSON.stringify(result),
|
|
449
|
+
'[{"id":2,"pwd":"123123","time":1640966400000,"uid":"root","valid":1},{"id":1,"pwd":"123456","time":1640966400000,"uid":"test","valid":0}]')
|
|
450
|
+
})
|
|
451
451
|
|
|
452
|
-
|
|
452
|
+
await t.test('测试添加操作(push)', _ => {
|
|
453
453
|
|
|
454
|
-
|
|
454
|
+
storage.admin.remove(...storage.admin.filter(item => ['test', 'root'].includes(item.uid)))
|
|
455
455
|
|
|
456
|
-
|
|
456
|
+
storage.admin.push(test)
|
|
457
457
|
|
|
458
|
-
|
|
459
|
-
JSON.stringify(storage.admin),
|
|
460
|
-
'[{"id":1,"pwd":"123456","time":1640966400000,"uid":"test","valid":0},{"id":2,"pwd":"123123","time":1640966400000,"uid":"root","valid":1}]')
|
|
461
|
-
})
|
|
458
|
+
storage.admin.push(root)
|
|
462
459
|
|
|
463
|
-
|
|
460
|
+
assert.strictEqual(
|
|
461
|
+
JSON.stringify(storage.admin),
|
|
462
|
+
'[{"id":1,"pwd":"123456","time":1640966400000,"uid":"test","valid":0},{"id":2,"pwd":"123123","time":1640966400000,"uid":"root","valid":1}]')
|
|
463
|
+
})
|
|
464
464
|
|
|
465
|
-
|
|
465
|
+
await t.test('测试添加操作(pop)', _ => {
|
|
466
466
|
|
|
467
|
-
|
|
467
|
+
storage.admin.pop()
|
|
468
468
|
|
|
469
|
-
|
|
469
|
+
assert.strictEqual(storage.admin.length, 1)
|
|
470
470
|
|
|
471
|
-
|
|
471
|
+
storage.admin.remove(...storage.admin.filter(item => ['test', 'root'].includes(item.uid)))
|
|
472
472
|
|
|
473
|
-
|
|
474
|
-
|
|
473
|
+
storage.admin.push(test)
|
|
474
|
+
|
|
475
|
+
storage.admin.push(root)
|
|
476
|
+
})
|
|
475
477
|
|
|
476
|
-
|
|
478
|
+
await t.test('测试添加操作(unshift)', _ => {
|
|
477
479
|
|
|
478
|
-
|
|
480
|
+
storage.admin.remove(...storage.admin.indexByUid('root'))
|
|
479
481
|
|
|
480
|
-
|
|
482
|
+
storage.admin.unshift(root)
|
|
481
483
|
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
484
|
+
assert.strictEqual(
|
|
485
|
+
JSON.stringify(storage.admin),
|
|
486
|
+
'[{"id":2,"pwd":"123123","time":1640966400000,"uid":"root","valid":1},{"id":1,"pwd":"123456","time":1640966400000,"uid":"test","valid":0}]')
|
|
487
|
+
})
|
|
486
488
|
|
|
487
|
-
|
|
489
|
+
await t.test('测试添加操作(splice)', _ => {
|
|
488
490
|
|
|
489
|
-
|
|
491
|
+
storage.admin.remove(...storage.admin.indexByUid('root'))
|
|
490
492
|
|
|
491
|
-
|
|
493
|
+
storage.admin.splice(0, 0, root)
|
|
492
494
|
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
495
|
+
assert.strictEqual(
|
|
496
|
+
JSON.stringify(storage.admin),
|
|
497
|
+
'[{"id":2,"pwd":"123123","time":1640966400000,"uid":"root","valid":1},{"id":1,"pwd":"123456","time":1640966400000,"uid":"test","valid":0}]')
|
|
498
|
+
})
|
|
497
499
|
|
|
498
|
-
|
|
500
|
+
await t.test('测试联合查询(filterFlat)', _ => {
|
|
499
501
|
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
502
|
+
assert.strictEqual(
|
|
503
|
+
JSON.stringify(storage.admin.filterFlat(storage.log, (a, b) => a.uid === b.uid)),
|
|
504
|
+
'[{"content":"login","id":1,"time":1640966400000,"type":0,"uid":"test","pwd":"123456","valid":0}'
|
|
505
|
+
+ ',{"content":"test","id":1,"time":1640966400000,"type":0,"uid":"test","pwd":"123456","valid":0}]')
|
|
506
|
+
})
|
|
505
507
|
|
|
506
|
-
|
|
508
|
+
await t.test('测试联合查询(eachFlat)', _ => {
|
|
507
509
|
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
510
|
+
assert.strictEqual(
|
|
511
|
+
JSON.stringify(storage.admin.eachFlat(storage.log, (a, b) => a.uid === b.uid)),
|
|
512
|
+
'[{"id":2,"pwd":"123123","time":1640966400000,"uid":"root","valid":1},{"content":"login","id":1,'
|
|
513
|
+
+ '"time":1640966400000,"type":0,"uid":"test","pwd":"123456","valid":0},{"content":"test","id":1,"time":1640966400000,'
|
|
514
|
+
+ '"type":0,"uid":"test","pwd":"123456","valid":0}]')
|
|
515
|
+
})
|
|
514
516
|
|
|
515
|
-
|
|
517
|
+
await t.test('测试修改操作', _ => {
|
|
516
518
|
|
|
517
|
-
|
|
519
|
+
let result = storage.admin.filter(predicate)
|
|
518
520
|
|
|
519
|
-
|
|
520
|
-
|
|
521
|
+
result[0].pwd = '111111'
|
|
522
|
+
result[0].time = new Date('2022/01/01')
|
|
521
523
|
|
|
522
|
-
|
|
524
|
+
result = storage.admin.filter(item => item.uid === 'root' && item.pwd === '111111')
|
|
523
525
|
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
526
|
+
assert.strictEqual(
|
|
527
|
+
JSON.stringify(result),
|
|
528
|
+
'[{"id":2,"pwd":"111111","time":1640966400000,"uid":"root","valid":1}]')
|
|
529
|
+
})
|
|
528
530
|
|
|
529
|
-
|
|
531
|
+
await t.test('测试删除操作', _ => {
|
|
530
532
|
|
|
531
|
-
|
|
533
|
+
storage.admin.remove(...storage.admin.filter(item => !item.valid))
|
|
532
534
|
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
535
|
+
assert.strictEqual(
|
|
536
|
+
JSON.stringify(storage.admin),
|
|
537
|
+
'[{"id":2,"pwd":"111111","time":1640966400000,"uid":"root","valid":1}]')
|
|
538
|
+
})
|
|
539
|
+
|
|
540
|
+
storage.admin.remove(...storage.admin)
|
|
541
|
+
|
|
542
|
+
storage.admin.push(test)
|
|
537
543
|
|
|
538
|
-
|
|
544
|
+
storage.admin.push(root)
|
|
539
545
|
|
|
540
|
-
|
|
546
|
+
storage.log.remove(...storage.log)
|
|
541
547
|
|
|
542
|
-
|
|
548
|
+
storage.log.push({
|
|
549
|
+
uid: 'test',
|
|
550
|
+
id: 2,
|
|
551
|
+
time: new Date('2022/01/01'),
|
|
552
|
+
content: 'login'
|
|
553
|
+
})
|
|
543
554
|
|
|
544
|
-
|
|
555
|
+
storage.log.push({
|
|
556
|
+
uid: 'test',
|
|
557
|
+
id: 1,
|
|
558
|
+
time: new Date('2022/01/02'),
|
|
559
|
+
content: 'test'
|
|
560
|
+
})
|
|
545
561
|
|
|
546
|
-
|
|
547
|
-
uid: 'test',
|
|
548
|
-
id: 2,
|
|
549
|
-
time: new Date('2022/01/01'),
|
|
550
|
-
content: 'login'
|
|
551
|
-
})
|
|
562
|
+
m.close()
|
|
552
563
|
|
|
553
|
-
|
|
554
|
-
uid: 'test',
|
|
555
|
-
id: 1,
|
|
556
|
-
time: new Date('2022/01/02'),
|
|
557
|
-
content: 'test'
|
|
564
|
+
resolve()
|
|
558
565
|
})
|
|
559
566
|
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
}).catch(e => console.error(e))
|
|
567
|
+
}).catch(e => console.error(e))
|
|
568
|
+
})
|
|
564
569
|
|
|
565
570
|
test('测试结构操作', async t => {
|
|
566
571
|
|