w-converhp 2.0.35 → 2.0.37

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.
@@ -51,8 +51,6 @@ import stream from 'stream'
51
51
  import Hapi from '@hapi/hapi'
52
52
  import Inert from '@hapi/inert' //提供靜態檔案
53
53
  import get from 'lodash-es/get.js'
54
- import each from 'lodash-es/each.js'
55
- import size from 'lodash-es/size.js'
56
54
  import isNumber from 'lodash-es/isNumber.js'
57
55
  import genPm from 'wsemi/src/genPm.mjs'
58
56
  import evem from 'wsemi/src/evem.mjs'
@@ -62,7 +60,6 @@ import isp0int from 'wsemi/src/isp0int.mjs'
62
60
  import ispint from 'wsemi/src/ispint.mjs'
63
61
  import isearr from 'wsemi/src/isearr.mjs'
64
62
  import isbol from 'wsemi/src/isbol.mjs'
65
- import isnum from 'wsemi/src/isnum.mjs'
66
63
  import isfun from 'wsemi/src/isfun.mjs'
67
64
  import ispm from 'wsemi/src/ispm.mjs'
68
65
  import cint from 'wsemi/src/cint.mjs'
@@ -71,15 +68,13 @@ import str2b64 from 'wsemi/src/str2b64.mjs'
71
68
  import haskey from 'wsemi/src/haskey.mjs'
72
69
  import obj2u8arr from 'wsemi/src/obj2u8arr.mjs'
73
70
  import u8arr2obj from 'wsemi/src/u8arr2obj.mjs'
74
- import fsIsFile from 'wsemi/src/fsIsFile.mjs'
75
71
  import fsIsFolder from 'wsemi/src/fsIsFolder.mjs'
76
72
  import fsCreateFolder from 'wsemi/src/fsCreateFolder.mjs'
77
- import fsGetFilesInFolder from 'wsemi/src/fsGetFilesInFolder.mjs'
78
- import getFileXxHash from 'wsemi/src/getFileXxHash.mjs'
79
- // import calcFileHash from './calcFileHash.mjs'
80
- import calcFileHash from './calcFileHash.wk.umd.js'
81
- // import mergeFiles from './mergeFiles.mjs'
82
- import mergeFiles from './mergeFiles.wk.umd.js'
73
+ import managerMergeSlices from './managerMergeSlices.mjs'
74
+ // import checkTotalHash from './checkTotalHash.mjs'
75
+ import checkTotalHash from './checkTotalHash.wk.umd.js'
76
+ // import checkSlicesHash from './checkSlicesHash.mjs'
77
+ import checkSlicesHash from './checkSlicesHash.wk.umd.js'
83
78
 
84
79
 
85
80
  //回傳前端stream時(POST或GET皆可), 前端會須等stream傳完才能判斷是否為大檔或錯誤訊息, 此會導致若回傳超大檔, 會需要對超大檔進行解析會有記憶體上限問題, 故需要通過header提供基本成功或失敗訊息, 讓前端能進行解析判斷
@@ -87,6 +82,10 @@ import mergeFiles from './mergeFiles.wk.umd.js'
87
82
  //回傳前端(browser)時, 針對超大檔, 可用POST並用stream回傳但還要處理進度條, 若要交由瀏覽器下載器處理, 只能用GET並用stream回傳, 且前端只能用window.location.href或a.href+a.click()下載
88
83
 
89
84
 
85
+ //mmg
86
+ let mmg = managerMergeSlices()
87
+
88
+
90
89
  /**
91
90
  * 建立Hapi伺服器
92
91
  *
@@ -656,7 +655,7 @@ function WConverhpServer(opt = {}) {
656
655
 
657
656
  //apiUploadCheck
658
657
  let apiUploadCheck = {
659
- path: `/${apiName}ulck`,
658
+ path: `/${apiName}ulctr`,
660
659
  method: 'POST',
661
660
  options: {
662
661
  payload: {
@@ -693,7 +692,7 @@ function WConverhpServer(opt = {}) {
693
692
  if (true) {
694
693
 
695
694
  //verifyConn
696
- let m = verifyConn({ apiType: 'upload-check', authorization, headers, query })
695
+ let m = verifyConn({ apiType: 'upload-controller', authorization, headers, query })
697
696
  if (ispm(m)) {
698
697
  m = await m
699
698
  }
@@ -716,13 +715,14 @@ function WConverhpServer(opt = {}) {
716
715
  let mode = get(req, 'payload.mode', '')
717
716
 
718
717
  //check
719
- if (mode !== 'check-total-hash' && mode !== 'check-slices-hash') {
718
+ if (mode !== 'check-total-hash' && mode !== 'check-slices-hash' && mode !== 'merge-slices-push' && mode !== 'merge-slices-get') {
720
719
  // console.log('invalid mode in payload')
721
720
  return responseU8aStreamWithError(res, `invalid mode[${mode}] in payload`)
722
721
  }
723
722
 
724
723
  //fileHash, 從payload接收
725
724
  let fileHash = get(req, 'payload.fileHash', '')
725
+ // console.log(mode, 'fileHash', fileHash)
726
726
 
727
727
  //check
728
728
  if (!isestr(fileHash)) {
@@ -730,189 +730,143 @@ function WConverhpServer(opt = {}) {
730
730
  return responseU8aStreamWithError(res, 'invalid fileHash in payload')
731
731
  }
732
732
 
733
- //checkTotalHash
734
- let checkTotalHash = async () => {
733
+ //procCore
734
+ let procCore = async() => {
735
+ let out = null
736
+ if (mode === 'check-total-hash') {
735
737
 
736
- //pathFile
737
- let pathFile = path.join(pathUploadTemp, fileHash)
738
- // console.log('pathFile', pathFile)
738
+ //filename, 從payload接收
739
+ let filename = get(req, 'payload.filename', '')
740
+ // console.log(mode, 'filename', filename)
739
741
 
740
- //bAllExist
741
- let bAllExist = false
742
- if (true) {
743
- // console.log(`check exist for pathFile[${pathFile}]...`)
742
+ //fileSize, 從payload接收
743
+ let fileSize = get(req, 'payload.fileSize', '')
744
+ // console.log(mode, 'fileSize', fileSize)
744
745
 
745
- bAllExist = fsIsFile(pathFile)
746
+ //checkTotalHash
747
+ out = await checkTotalHash(fileSize, sizeSlice, fileHash, pathUploadTemp)
748
+ // console.log(mode, 'out', out)
746
749
 
747
- // console.log(`check exist for pathFile[${pathFile}] done`, bAllExist)
748
- }
750
+ //check, 因合併大檔後可能非預期中斷而重傳, 每次偵測有合併完成大檔, 就得調用procUpload讓伺服器攔截函數處理
751
+ if (out.bAllHash) {
749
752
 
750
- //fileSize, 從payload接收
751
- let fileSize = get(req, 'payload.fileSize', '')
753
+ //ri
754
+ let ri = {
755
+ filename,
756
+ path: out.path,
757
+ }
758
+
759
+ //procUpload
760
+ // console.log('procUpload start')
761
+ let ro = await procUpload(ri)
762
+ // console.log('procUpload done', ro)
763
+
764
+ //out merge, 直接添加ro就回傳, 此處不使用msg儲存
765
+ out = {
766
+ ...out,
767
+ ...ro,
768
+ }
752
769
 
753
- //check
754
- if (!isnum(fileSize)) {
755
- // console.log('invalid fileSize in payload')
756
- let r = {
757
- error: 'invalid fileSize in payload',
758
770
  }
759
- return r
760
- }
761
771
 
762
- //bAllSize
763
- let bAllSize = false
764
- if (bAllExist) {
765
- // console.log(`check size for pathFile[${pathFile}]...`)
772
+ }
773
+ else if (mode === 'check-slices-hash') {
766
774
 
767
- //_fileSize
768
- let stats = fs.statSync(pathFile)
769
- let _fileSize = stats.size
775
+ //fileSliceHashs, 從payload接收
776
+ let fileSliceHashs = get(req, 'payload.fileSliceHashs', [])
777
+ // console.log(mode, 'fileSliceHashs', fileSliceHashs)
770
778
 
771
- //bAllSize
772
- bAllSize = fileSize === _fileSize
779
+ //checkSlicesHash
780
+ out = await checkSlicesHash(fileSliceHashs, fileHash, pathUploadTemp)
781
+ // console.log(mode, 'out', out)
773
782
 
774
- // console.log(`check size for pathFile[${pathFile}] done`, bAllSize)
775
783
  }
784
+ else if (mode === 'merge-slices-push') {
776
785
 
777
- //bAllHash
778
- let bAllHash = false
779
- if (bAllExist && bAllSize) {
780
- // console.log(`check hash for pathFile[${pathFile}]...`)
781
-
782
- //bAllHash
783
- await calcFileHash(pathFile)
784
- .then((_fileHash) => {
785
- bAllHash = fileHash === _fileHash
786
- })
787
- .catch((err) => {
788
- console.log(err)
789
- console.log(`fsIsFile(pathFile)`, pathFile, fsIsFile(pathFile))
790
- bAllHash = false
791
- })
792
-
793
- // console.log(`check hash for pathFile[${pathFile}] done`, bAllHash)
794
- }
786
+ //chunkTotal, 從payload接收
787
+ let chunkTotal = get(req, 'payload.chunkTotal', '')
788
+ // console.log(mode, 'chunkTotal', chunkTotal)
789
+
790
+ //mmg.push
791
+ let queueId = mmg.push(fileHash, chunkTotal, pathUploadTemp)
792
+
793
+ //out
794
+ out = {
795
+ queueId,
796
+ }
795
797
 
796
- //vfps
797
- let vfps = fsGetFilesInFolder(pathUploadTemp)
798
- // console.log('vfps', vfps)
799
-
800
- //slks
801
- let slks = []
802
- if (true) {
803
- each(vfps, (v, k) => {
804
- let b1 = (v.name).indexOf(`${fileHash}_`) >= 0
805
- let stats = fs.statSync(v.path)
806
- let b2 = stats.size === sizeSlice
807
- let b = b1 && b2
808
- if (b) {
809
- slks.push(k)
810
- }
811
- })
812
- }
813
- // console.log('slks', slks)
814
-
815
- //bSls
816
- let bSls = size(slks) > 0
817
- // console.log('bSls', bSls)
818
-
819
- //r
820
- let r = {
821
- success: {
822
- path: pathFile,
823
- bAllExist,
824
- bAllSize,
825
- bAllHash,
826
- bSls,
827
- slks,
828
- },
829
798
  }
799
+ else if (mode === 'merge-slices-get') {
830
800
 
831
- return r
832
- }
801
+ //filename, 從payload接收
802
+ let filename = get(req, 'payload.filename', '')
803
+ // console.log(mode, 'filename', filename)
833
804
 
834
- //checkSlicesHash
835
- let checkSlicesHash = async() => {
805
+ //queueId, 從payload接收
806
+ let queueId = get(req, 'payload.queueId', '')
807
+ // console.log(mode, 'queueId', queueId)
836
808
 
837
- //fileSliceHashs, 從payload接收
838
- let fileSliceHashs = get(req, 'payload.fileSliceHashs', [])
839
- // console.log('fileSliceHashs', fileSliceHashs)
809
+ //mmg.get
810
+ let r = mmg.get(queueId, pathUploadTemp)
840
811
 
841
- //check, 前端須檢核, 若之前已回應無切片, 就不能再調用檢測切片hash的API
842
- if (size(fileSliceHashs) === 0) {
843
- let r = {
844
- error: 'no fileSliceHashs',
812
+ //out
813
+ out = {
814
+ queueId,
815
+ state: r.state,
816
+ filename,
817
+ path: r.path,
845
818
  }
846
- return r
847
- }
848
-
849
- //slksCfm, 已確定hash值一致的切片
850
- // console.log(`check hash for slices fileHash[${fileHash}]...`, fileSliceHashs[0], size(fileSliceHashs))
851
- let slksCfm = []
852
- // let n = Math.max(fileSliceHashs.length, 1)
853
- // let nr = Math.floor(n / 200)
854
- for (let k = 0; k < fileSliceHashs.length; k++) {
855
- // if (k % nr === 0) {
856
- // console.log(`calc hash for slices`, round(k / fileSliceHashs.length * 100, 1), '%')
857
- // }
858
-
859
- //v
860
- let v = fileSliceHashs[k]
861
-
862
- //_pathFile
863
- let _pathFile = path.join(pathUploadTemp, `${fileHash}_${v.i}`)
864
- // console.log('_pathFile', _pathFile)
865
-
866
- //_fileHash
867
- let _fileHash = ''
868
- // await calcFileHash(_pathFile)
869
- await getFileXxHash(new Blob([fs.readFileSync(_pathFile)])) //計算切片因檔案很小, 直接用getFileXxHash速度比較快
870
- .then((res) => {
871
- _fileHash = res
872
- })
873
- .catch((err) => {
874
- console.log(err)
875
- console.log(`fsIsFile(_pathFile)`, _pathFile, fsIsFile(_pathFile))
876
- })
877
- // console.log('_fileHash', _fileHash)
878
819
 
879
820
  //check
880
- if (v.h === _fileHash) {
881
- slksCfm.push(v.i)
882
- }
883
- // else {
884
- // console.log(`hash is not equal`, `hash(front)`, v.h, `hash(backend)`, _fileHash)
885
- // }
821
+ if (r.state === 'done') {
886
822
 
887
- }
888
- // console.log(`check hash for slices fileHash[${fileHash}] done`, slksCfm[0], size(slksCfm))
823
+ //ri
824
+ let ri = {
825
+ filename,
826
+ path: r.path,
827
+ }
828
+
829
+ //procUpload, 偵測有合併完成大檔, 得調用procUpload讓伺服器攔截函數處理
830
+ // console.log('procUpload start')
831
+ let ro = await procUpload(ri)
832
+ // console.log('procUpload done', ro)
833
+
834
+ //out merge, ro須附加至msg, 才供前端偵測state為'done'時提取msg顯示
835
+ out = {
836
+ ...out,
837
+ msg: ro,
838
+ }
839
+
840
+ }
889
841
 
890
- //r
891
- let r = {
892
- success: {
893
- slks: slksCfm,
894
- },
895
842
  }
843
+ // console.log('out', out)
896
844
 
897
- return r
845
+ return out
898
846
  }
899
847
 
900
- //out
901
- let out = null
902
- if (mode === 'check-total-hash') {
903
- out = await checkTotalHash()
904
- }
905
- else if (mode === 'check-slices-hash') {
906
- out = await checkSlicesHash()
907
- }
848
+ //procCore
849
+ let out = {}
850
+ let returnType = ''
851
+ let returnMsg = ''
852
+ await procCore()
853
+ .then((res) => {
854
+ out.success = res
855
+ returnType = 'success'
856
+ returnMsg = 'need to parse'
857
+ })
858
+ .catch((err) => {
859
+ out.error = err
860
+ returnType = 'error'
861
+ returnMsg = 'need to parse'
862
+ })
863
+ // console.log('out', out)
908
864
 
909
- if (out.error) {
910
- return responseU8aStreamWithError(res, out.error)
911
- }
912
- else {
913
- let u8aOut = obj2u8arr(out)
914
- return responseU8aStream(res, u8aOut, { returnType: 'success', returnMsg: 'need to parse' })
915
- }
865
+ //u8aOut
866
+ let u8aOut = obj2u8arr(out)
867
+ // console.log('u8aOut', u8aOut)
868
+
869
+ return responseU8aStream(res, u8aOut, { returnType, returnMsg })
916
870
  },
917
871
  }
918
872
 
@@ -981,18 +935,18 @@ function WConverhpServer(opt = {}) {
981
935
 
982
936
  //check
983
937
  if (!isp0int(chunkIndex)) {
984
- console.log('invalid chunkIndex in headers')
985
- return res.response({ error: 'invalid chunkIndex in headers' }).code(400)
938
+ // console.log('invalid chunkIndex in headers')
939
+ return responseU8aStreamWithError(res, 'invalid chunkIndex in headers')
986
940
  }
987
941
  chunkIndex = cint(chunkIndex)
988
942
  if (!isp0int(chunkTotal)) {
989
- console.log('invalid chunkTotal in headers')
990
- return res.response({ error: 'invalid chunkTotal in headers' }).code(400)
943
+ // console.log('invalid chunkTotal in headers')
944
+ return responseU8aStreamWithError(res, 'invalid chunkTotal in headers')
991
945
  }
992
946
  chunkTotal = cint(chunkTotal)
993
947
  if (!isestr(packageId)) {
994
- console.log('invalid packageId in headers')
995
- return res.response({ error: 'invalid packageId in headers' }).code(400)
948
+ // console.log('invalid packageId in headers')
949
+ return responseU8aStreamWithError(res, 'invalid packageId in headers')
996
950
  }
997
951
 
998
952
  //pathFileChunk
@@ -1059,126 +1013,6 @@ function WConverhpServer(opt = {}) {
1059
1013
  },
1060
1014
  }
1061
1015
 
1062
- //apiUploadSliceMerge
1063
- let apiUploadSliceMerge = {
1064
- path: `/${apiName}slcm`,
1065
- method: 'POST',
1066
- options: {
1067
- payload: {
1068
- maxBytes: 1024 * 1024 * 1024 * 1024, //預設為1mb, 調整至1tb, 也就是給予3次方
1069
- maxParts: 1000 * 1000 * 1000, //預設為1000, 給予3次方
1070
- timeout: false, //避免請求未完成時中斷
1071
- // output: 'stream',
1072
- parse: true, //前端送obj過來須自動解析
1073
- },
1074
- timeout: {
1075
- server: false, //關閉伺服器超時
1076
- socket: false, //關閉socket超時
1077
- },
1078
- },
1079
- handler: async function (req, res) {
1080
- // console.log(req, res)
1081
- // console.log('payload', req.payload)
1082
-
1083
- //headers
1084
- let headers = get(req, 'headers')
1085
- headers = iseobj(headers) ? headers : ''
1086
- // console.log('headers', headers)
1087
-
1088
- //query
1089
- let query = get(req, 'query')
1090
- query = iseobj(query) ? query : ''
1091
- // console.log('query', query)
1092
-
1093
- //authorization
1094
- let authorization = get(headers, 'authorization', '')
1095
- authorization = isestr(authorization) ? authorization : ''
1096
-
1097
- //check
1098
- if (true) {
1099
-
1100
- //verifyConn
1101
- let m = verifyConn({ apiType: 'upload-slice-merge', authorization, headers, query })
1102
- if (ispm(m)) {
1103
- m = await m
1104
- }
1105
-
1106
- //check
1107
- if (m !== true) {
1108
- return responseU8aStreamWithError(res, 'permission denied')
1109
- }
1110
-
1111
- }
1112
-
1113
- //eeEmit
1114
- eeEmit('handler', {
1115
- api: 'apiUploadSliceMerge',
1116
- headers,
1117
- query,
1118
- })
1119
-
1120
- //filename, chunkTotal, packageId, 從payload接收
1121
- let filename = get(req, 'payload.filename', '')
1122
- let chunkTotal = get(req, 'payload.chunk-total', '')
1123
- let packageId = get(req, 'payload.package-id', '')
1124
-
1125
- //check
1126
- if (!isestr(filename)) {
1127
- console.log('invalid filename in payload')
1128
- return res.response({ error: 'invalid filename in payload' }).code(400)
1129
- }
1130
- if (!isp0int(chunkTotal)) {
1131
- console.log('invalid chunkTotal in payload')
1132
- return res.response({ error: 'invalid chunkTotal in payload' }).code(400)
1133
- }
1134
- chunkTotal = cint(chunkTotal)
1135
- if (!isestr(packageId)) {
1136
- console.log('invalid packageId in payload')
1137
- return res.response({ error: 'invalid packageId in payload' }).code(400)
1138
- }
1139
-
1140
- //mergeAndPorc
1141
- let mergeAndPorc = async() => {
1142
-
1143
- //merge
1144
- // console.log('merge start')
1145
- let r = await mergeFiles(pathUploadTemp, packageId, chunkTotal, filename)
1146
- // console.log('merge done', r)
1147
-
1148
- //procUpload
1149
- // console.log('procUpload start')
1150
- let rr = await procUpload(r)
1151
- // console.log('procUpload done', rr)
1152
-
1153
- return rr
1154
- }
1155
-
1156
- //mergeAndPorc
1157
- let out = {}
1158
- let returnType = ''
1159
- let returnMsg = ''
1160
- await mergeAndPorc()
1161
- .then((res) => {
1162
- out.success = res
1163
- returnType = 'success'
1164
- returnMsg = 'need to parse'
1165
- })
1166
- .catch((err) => {
1167
- out.error = err
1168
- returnType = 'error'
1169
- returnMsg = 'need to parse'
1170
- eeEmit('error', `${err.message}`)
1171
- })
1172
- // console.log('out', out)
1173
-
1174
- //u8aOut
1175
- let u8aOut = obj2u8arr(out)
1176
- // console.log('u8aOut', u8aOut)
1177
-
1178
- return responseU8aStream(res, u8aOut, { returnType, returnMsg })
1179
- },
1180
- }
1181
-
1182
1016
  //apiDownloadGetFilename
1183
1017
  let apiDownloadGetFilename = {
1184
1018
  path: `/${apiName}dwgfn`,
@@ -1396,14 +1230,6 @@ function WConverhpServer(opt = {}) {
1396
1230
  //streamRead
1397
1231
  let streamRead = get(r, 'streamRead')
1398
1232
 
1399
- // //filename
1400
- // let filename = get(r, 'filename')
1401
- // if (!isestr(filename)) {
1402
- // return responseU8aStreamWithError(res, 'invalid filename')
1403
- // }
1404
- // filename = str2b64(filename) //headers內對中文支援度不佳須用base64傳
1405
- // console.log('filename', filename)
1406
-
1407
1233
  //fileSize
1408
1234
  let fileSize = get(r, 'fileSize')
1409
1235
  if (!isNumber(fileSize)) {
@@ -1598,7 +1424,7 @@ function WConverhpServer(opt = {}) {
1598
1424
  apiMain,
1599
1425
  apiUploadCheck,
1600
1426
  apiUploadSlice,
1601
- apiUploadSliceMerge,
1427
+ // apiUploadSliceMerge,
1602
1428
  apiDownloadGetFilename,
1603
1429
  apiDownloadGetFile,
1604
1430
  apiDownload,
@@ -1617,7 +1443,8 @@ function WConverhpServer(opt = {}) {
1617
1443
 
1618
1444
  //start
1619
1445
  if (get(opt, 'serverHapi')) {
1620
- server.route([apiMain, apiUploadCheck, apiUploadSlice, apiUploadSliceMerge, apiDownloadGetFilename, apiDownloadGetFile, apiDownload])
1446
+ // server.route([apiMain, apiUploadCheck, apiUploadSlice, apiUploadSliceMerge, apiDownloadGetFilename, apiDownloadGetFile, apiDownload])
1447
+ server.route([apiMain, apiUploadCheck, apiUploadSlice, apiDownloadGetFilename, apiDownloadGetFile, apiDownload])
1621
1448
  }
1622
1449
  else {
1623
1450
  startServer()
@@ -1650,7 +1477,7 @@ export default WConverhpServer
1650
1477
  <br class="clear">
1651
1478
 
1652
1479
  <footer>
1653
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Mon Apr 14 2025 15:34:24 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
1480
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Tue Apr 15 2025 14:44:02 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
1654
1481
  </footer>
1655
1482
 
1656
1483
  <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 Apr 14 2025 15:34:24 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 Tue Apr 15 2025 14:44:02 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.35",
3
+ "version": "2.0.37",
4
4
  "main": "dist/w-converhp-server.umd.js",
5
5
  "dependencies": {
6
6
  "@hapi/hapi": "^21.4.0",
package/scla.mjs CHANGED
@@ -74,6 +74,9 @@ function executeWithU8a() {
74
74
 
75
75
  }
76
76
  core()
77
+ .catch((err) => {
78
+ console.log(err)
79
+ })
77
80
  }
78
81
 
79
82
  executeWithU8a()
package/sclb.mjs CHANGED
@@ -75,6 +75,9 @@ function executeWithFile() {
75
75
 
76
76
  }
77
77
  core()
78
+ .catch((err) => {
79
+ console.log(err)
80
+ })
78
81
  }
79
82
 
80
83
  executeWithFile()
package/sclc.mjs CHANGED
@@ -27,7 +27,7 @@ wo.on('error', (err) => {
27
27
  function uploadLargeFile() {
28
28
  let core = async() => {
29
29
 
30
- let fsz = '1000mb' //0mb 10mb 100mb 1000mb
30
+ let fsz = '10mb' //0mb 10mb 100mb 1000mb
31
31
 
32
32
  //u8a
33
33
  let u8a = fs.readFileSync(`../_data/${fsz}.7z`) //用fs讀有檔案大小上限
@@ -54,6 +54,9 @@ function uploadLargeFile() {
54
54
 
55
55
  }
56
56
  core()
57
+ .catch((err) => {
58
+ console.log(err)
59
+ })
57
60
  }
58
61
 
59
62
  uploadLargeFile()
package/scld.mjs CHANGED
@@ -49,6 +49,9 @@ function downloadLargeFile() {
49
49
 
50
50
  }
51
51
  core()
52
+ .catch((err) => {
53
+ console.log(err)
54
+ })
52
55
  }
53
56
 
54
57
  downloadLargeFile()
package/script.txt CHANGED
@@ -1,10 +1,10 @@
1
- #node --experimental-modules toolg/addVersion.mjs
2
- node --experimental-modules toolg/modifyReadme.mjs
1
+ #node toolg/addVersion.mjs
2
+ node toolg/modifyReadme.mjs
3
3
 
4
- node --experimental-modules toolg/cleanFolder.mjs
4
+ node toolg/cleanFolder.mjs
5
5
  ./node_modules/.bin/jsdoc -c .jsdoc
6
6
 
7
- node --experimental-modules toolg/gDistRollup.mjs
7
+ node toolg/gDistRollup.mjs
8
8
 
9
9
  git add . -A
10
10
  git commit -m 'modify: '