w-converhp 2.0.0 → 2.0.1

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.
@@ -61,6 +61,7 @@ import isobj from 'wsemi/src/isobj.mjs'
61
61
  import iseobj from 'wsemi/src/iseobj.mjs'
62
62
  import cint from 'wsemi/src/cint.mjs'
63
63
  import strright from 'wsemi/src/strright.mjs'
64
+ import evem from 'wsemi/src/evem.mjs'
64
65
  import blob2u8arr from 'wsemi/src/blob2u8arr.mjs'
65
66
  import obj2u8arr from 'wsemi/src/obj2u8arr.mjs'
66
67
  import u8arr2obj from 'wsemi/src/u8arr2obj.mjs'
@@ -215,6 +216,16 @@ function WConverhpClient(opt) {
215
216
  let env = isWindow() ? 'browser' : 'nodejs'
216
217
  // console.log('env', env)
217
218
 
219
+ //ee
220
+ let ee = evem() //new events.EventEmitter()
221
+
222
+ //eeEmit
223
+ function eeEmit(name, ...args) {
224
+ setTimeout(() => {
225
+ ee.emit(name, ...args)
226
+ }, 1)
227
+ }
228
+
218
229
  //res2u8arr
219
230
  async function res2u8arr(bb) {
220
231
  //blob(in browser) or buffer(in nodejs) to u8a
@@ -306,7 +317,8 @@ function WConverhpClient(opt) {
306
317
  fmd = new opt.FormData({ maxDataSize: 1024 * 1024 * 1024 * 1024 }) //nodejs, 使用套件form-data設定資料量最大為1tb
307
318
  }
308
319
  else {
309
- console.log(`invalid opt.FormData, need [npm i form-data] and [import FormData from 'form-data'] to set opt.FormData = FormData`)
320
+ // console.log(`invalid opt.FormData, need [npm i form-data] and [import FormData from 'form-data'] to set opt.FormData = FormData`)
321
+ eeEmit('error', `invalid opt.FormData, need [npm i form-data] and [import FormData from 'form-data'] to set opt.FormData = FormData`)
310
322
  throw new Error('invalid opt.FormData')
311
323
  }
312
324
  }
@@ -412,7 +424,8 @@ function WConverhpClient(opt) {
412
424
 
413
425
  //check
414
426
  if (!iseobj(data)) {
415
- console.log('data is not an effective object', data)
427
+ // console.log('data is not an effective object', data)
428
+ eeEmit('error', `data is not an effective object`)
416
429
  pm.reject(`data is not an effective object`)
417
430
  return
418
431
  }
@@ -425,7 +438,8 @@ function WConverhpClient(opt) {
425
438
  pm.resolve(data.error)
426
439
  }
427
440
  else {
428
- console.log('invalid data', data)
441
+ // console.log('invalid data', data)
442
+ eeEmit('error', `invalid data`)
429
443
  pm.reject(`invalid data`)
430
444
  }
431
445
 
@@ -454,7 +468,8 @@ function WConverhpClient(opt) {
454
468
  res = res.toJSON()
455
469
  }
456
470
  catch (err) {}
457
- console.log('err', res)
471
+ // console.log('err', res)
472
+ eeEmit('error', res)
458
473
  data = 'Can not connect to server.'
459
474
  }
460
475
  if (data === 'Network Error') {
@@ -467,7 +482,6 @@ function WConverhpClient(opt) {
467
482
  return pm
468
483
  }
469
484
 
470
-
471
485
  //sendPkg
472
486
  async function sendPkg(type, data, cbProgress) {
473
487
 
@@ -496,7 +510,6 @@ function WConverhpClient(opt) {
496
510
  return res
497
511
  }
498
512
 
499
-
500
513
  //sendData
501
514
  async function sendData(type, data, cbProgress) {
502
515
 
@@ -524,7 +537,6 @@ function WConverhpClient(opt) {
524
537
  }
525
538
  }
526
539
 
527
-
528
540
  //sendDataSlice
529
541
  async function sendDataSlice(tempId, bb, cbProgress) {
530
542
 
@@ -534,7 +546,6 @@ function WConverhpClient(opt) {
534
546
  try {
535
547
  n = bb.size //for Blob
536
548
  n = cint(n)
537
- console.log('size n', n)
538
549
  }
539
550
  catch (err) {}
540
551
  }
@@ -546,6 +557,7 @@ function WConverhpClient(opt) {
546
557
  catch (err) {}
547
558
  }
548
559
  if (n === 0) {
560
+ eeEmit('error', `Can not get size of bb`)
549
561
  return Promise.reject(`Can not get size of bb`)
550
562
  }
551
563
  // console.log('n', n)
@@ -591,7 +603,7 @@ function WConverhpClient(opt) {
591
603
  'chunk-total': chunkTotal,
592
604
  'package-id': packageId,
593
605
  }
594
- let resMg = await send('slicemerge', msg, { dataType: 'obj', cbProgress }) //bbb fmd obj
606
+ let resMg = await send('slicemerge', msg, { dataType: 'obj', cbProgress })
595
607
  // console.log(`merge tempId[${tempId}] done`, resMg)
596
608
 
597
609
  return resMg
@@ -648,13 +660,16 @@ function WConverhpClient(opt) {
648
660
 
649
661
  //check
650
662
  if (state === '') {
651
- console.log('invalid state', state)
663
+ // console.log('invalid state', r)
664
+ eeEmit('error', `invalid state`)
652
665
  return Promise.reject('invalid state')
653
666
  }
654
667
 
655
668
  //check
656
669
  if (state === 'error') {
657
- return Promise.reject('invalid state')
670
+ // console.log('send data error', r)
671
+ eeEmit('error', `send data error`)
672
+ return Promise.reject('send data error')
658
673
  }
659
674
 
660
675
  return r.msg
@@ -669,12 +684,11 @@ function WConverhpClient(opt) {
669
684
  return sendDataSlice(tempId, bb, cbProgress)
670
685
  }
671
686
 
672
- //r
673
- let r = {}
674
- r.execute = execute
675
- r.upload = upload
687
+ //save
688
+ ee.execute = execute
689
+ ee.upload = upload
676
690
 
677
- return r
691
+ return ee
678
692
  }
679
693
 
680
694
 
@@ -693,7 +707,7 @@ export default WConverhpClient
693
707
  <br class="clear">
694
708
 
695
709
  <footer>
696
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Mon Mar 03 2025 12:11:13 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
710
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Wed Mar 05 2025 11:15:07 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
697
711
  </footer>
698
712
 
699
713
  <script>prettyPrint();</script>
@@ -709,7 +709,7 @@
709
709
  <br class="clear">
710
710
 
711
711
  <footer>
712
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Mon Mar 03 2025 12:11:13 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
712
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Wed Mar 05 2025 11:15:07 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
713
713
  </footer>
714
714
 
715
715
  <script>prettyPrint();</script>
@@ -455,8 +455,8 @@ function WConverhpServer(opt = {}) {
455
455
 
456
456
  //error
457
457
  req.payload.on('error', (err) => {
458
- console.log(`receive payload err`, err)
459
- // pm.reject(res.response({ error: err.message }).code(500))
458
+ // console.log(`receive payload err`, err)
459
+ eeEmit('error', `receive payload err`)
460
460
  pm.reject(err.message)
461
461
  })
462
462
 
@@ -601,8 +601,9 @@ function WConverhpServer(opt = {}) {
601
601
  })
602
602
 
603
603
  //error
604
- req.payload.on('error', (err) => {
605
- console.log(`receive chunk[${chunkIndex + 1}/${chunkTotal}] err`, err)
604
+ req.payload.on('error', () => {
605
+ // console.log(`receive chunk[${chunkIndex + 1}/${chunkTotal}] err`, err)
606
+ eeEmit('error', `receive chunk[${chunkIndex + 1}/${chunkTotal}] err`)
606
607
  pm.reject(`chunk[${chunkIndex}/${chunkTotal}] of packageId[${packageId}] err`)
607
608
  })
608
609
 
@@ -877,7 +878,7 @@ export default WConverhpServer
877
878
  <br class="clear">
878
879
 
879
880
  <footer>
880
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Mon Mar 03 2025 12:11:13 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
881
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Wed Mar 05 2025 11:15:07 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
881
882
  </footer>
882
883
 
883
884
  <script>prettyPrint();</script>
package/docs/index.html CHANGED
@@ -71,7 +71,7 @@
71
71
  <br class="clear">
72
72
 
73
73
  <footer>
74
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Mon Mar 03 2025 12:11:13 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
74
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Wed Mar 05 2025 11:15:07 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
75
75
  </footer>
76
76
 
77
77
  <script>prettyPrint();</script>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "w-converhp",
3
- "version": "2.0.0",
3
+ "version": "2.0.1",
4
4
  "main": "dist/w-converhp-server.umd.js",
5
5
  "dependencies": {
6
6
  "@hapi/hapi": "^21.3.12",
@@ -14,6 +14,7 @@ import isobj from 'wsemi/src/isobj.mjs'
14
14
  import iseobj from 'wsemi/src/iseobj.mjs'
15
15
  import cint from 'wsemi/src/cint.mjs'
16
16
  import strright from 'wsemi/src/strright.mjs'
17
+ import evem from 'wsemi/src/evem.mjs'
17
18
  import blob2u8arr from 'wsemi/src/blob2u8arr.mjs'
18
19
  import obj2u8arr from 'wsemi/src/obj2u8arr.mjs'
19
20
  import u8arr2obj from 'wsemi/src/u8arr2obj.mjs'
@@ -168,6 +169,16 @@ function WConverhpClient(opt) {
168
169
  let env = isWindow() ? 'browser' : 'nodejs'
169
170
  // console.log('env', env)
170
171
 
172
+ //ee
173
+ let ee = evem() //new events.EventEmitter()
174
+
175
+ //eeEmit
176
+ function eeEmit(name, ...args) {
177
+ setTimeout(() => {
178
+ ee.emit(name, ...args)
179
+ }, 1)
180
+ }
181
+
171
182
  //res2u8arr
172
183
  async function res2u8arr(bb) {
173
184
  //blob(in browser) or buffer(in nodejs) to u8a
@@ -259,7 +270,8 @@ function WConverhpClient(opt) {
259
270
  fmd = new opt.FormData({ maxDataSize: 1024 * 1024 * 1024 * 1024 }) //nodejs, 使用套件form-data設定資料量最大為1tb
260
271
  }
261
272
  else {
262
- console.log(`invalid opt.FormData, need [npm i form-data] and [import FormData from 'form-data'] to set opt.FormData = FormData`)
273
+ // console.log(`invalid opt.FormData, need [npm i form-data] and [import FormData from 'form-data'] to set opt.FormData = FormData`)
274
+ eeEmit('error', `invalid opt.FormData, need [npm i form-data] and [import FormData from 'form-data'] to set opt.FormData = FormData`)
263
275
  throw new Error('invalid opt.FormData')
264
276
  }
265
277
  }
@@ -365,7 +377,8 @@ function WConverhpClient(opt) {
365
377
 
366
378
  //check
367
379
  if (!iseobj(data)) {
368
- console.log('data is not an effective object', data)
380
+ // console.log('data is not an effective object', data)
381
+ eeEmit('error', `data is not an effective object`)
369
382
  pm.reject(`data is not an effective object`)
370
383
  return
371
384
  }
@@ -378,7 +391,8 @@ function WConverhpClient(opt) {
378
391
  pm.resolve(data.error)
379
392
  }
380
393
  else {
381
- console.log('invalid data', data)
394
+ // console.log('invalid data', data)
395
+ eeEmit('error', `invalid data`)
382
396
  pm.reject(`invalid data`)
383
397
  }
384
398
 
@@ -407,7 +421,8 @@ function WConverhpClient(opt) {
407
421
  res = res.toJSON()
408
422
  }
409
423
  catch (err) {}
410
- console.log('err', res)
424
+ // console.log('err', res)
425
+ eeEmit('error', res)
411
426
  data = 'Can not connect to server.'
412
427
  }
413
428
  if (data === 'Network Error') {
@@ -420,7 +435,6 @@ function WConverhpClient(opt) {
420
435
  return pm
421
436
  }
422
437
 
423
-
424
438
  //sendPkg
425
439
  async function sendPkg(type, data, cbProgress) {
426
440
 
@@ -449,7 +463,6 @@ function WConverhpClient(opt) {
449
463
  return res
450
464
  }
451
465
 
452
-
453
466
  //sendData
454
467
  async function sendData(type, data, cbProgress) {
455
468
 
@@ -477,7 +490,6 @@ function WConverhpClient(opt) {
477
490
  }
478
491
  }
479
492
 
480
-
481
493
  //sendDataSlice
482
494
  async function sendDataSlice(tempId, bb, cbProgress) {
483
495
 
@@ -487,7 +499,6 @@ function WConverhpClient(opt) {
487
499
  try {
488
500
  n = bb.size //for Blob
489
501
  n = cint(n)
490
- console.log('size n', n)
491
502
  }
492
503
  catch (err) {}
493
504
  }
@@ -499,6 +510,7 @@ function WConverhpClient(opt) {
499
510
  catch (err) {}
500
511
  }
501
512
  if (n === 0) {
513
+ eeEmit('error', `Can not get size of bb`)
502
514
  return Promise.reject(`Can not get size of bb`)
503
515
  }
504
516
  // console.log('n', n)
@@ -544,7 +556,7 @@ function WConverhpClient(opt) {
544
556
  'chunk-total': chunkTotal,
545
557
  'package-id': packageId,
546
558
  }
547
- let resMg = await send('slicemerge', msg, { dataType: 'obj', cbProgress }) //bbb fmd obj
559
+ let resMg = await send('slicemerge', msg, { dataType: 'obj', cbProgress })
548
560
  // console.log(`merge tempId[${tempId}] done`, resMg)
549
561
 
550
562
  return resMg
@@ -601,13 +613,16 @@ function WConverhpClient(opt) {
601
613
 
602
614
  //check
603
615
  if (state === '') {
604
- console.log('invalid state', state)
616
+ // console.log('invalid state', r)
617
+ eeEmit('error', `invalid state`)
605
618
  return Promise.reject('invalid state')
606
619
  }
607
620
 
608
621
  //check
609
622
  if (state === 'error') {
610
- return Promise.reject('invalid state')
623
+ // console.log('send data error', r)
624
+ eeEmit('error', `send data error`)
625
+ return Promise.reject('send data error')
611
626
  }
612
627
 
613
628
  return r.msg
@@ -622,12 +637,11 @@ function WConverhpClient(opt) {
622
637
  return sendDataSlice(tempId, bb, cbProgress)
623
638
  }
624
639
 
625
- //r
626
- let r = {}
627
- r.execute = execute
628
- r.upload = upload
640
+ //save
641
+ ee.execute = execute
642
+ ee.upload = upload
629
643
 
630
- return r
644
+ return ee
631
645
  }
632
646
 
633
647
 
@@ -408,8 +408,8 @@ function WConverhpServer(opt = {}) {
408
408
 
409
409
  //error
410
410
  req.payload.on('error', (err) => {
411
- console.log(`receive payload err`, err)
412
- // pm.reject(res.response({ error: err.message }).code(500))
411
+ // console.log(`receive payload err`, err)
412
+ eeEmit('error', `receive payload err`)
413
413
  pm.reject(err.message)
414
414
  })
415
415
 
@@ -554,8 +554,9 @@ function WConverhpServer(opt = {}) {
554
554
  })
555
555
 
556
556
  //error
557
- req.payload.on('error', (err) => {
558
- console.log(`receive chunk[${chunkIndex + 1}/${chunkTotal}] err`, err)
557
+ req.payload.on('error', () => {
558
+ // console.log(`receive chunk[${chunkIndex + 1}/${chunkTotal}] err`, err)
559
+ eeEmit('error', `receive chunk[${chunkIndex + 1}/${chunkTotal}] err`)
559
560
  pm.reject(`chunk[${chunkIndex}/${chunkTotal}] of packageId[${packageId}] err`)
560
561
  })
561
562