wsemi 1.8.83 → 1.8.84

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.
Files changed (480) hide show
  1. package/README.md +1 -1
  2. package/dist/wsemi.umd.js +2 -2
  3. package/dist/wsemi.umd.js.map +1 -1
  4. package/docs/-_class.mjs.html +1 -1
  5. package/docs/ab2blob.mjs.html +1 -1
  6. package/docs/ab2u8arr.mjs.html +1 -1
  7. package/docs/addExcelWorksheetFromData.mjs.html +1 -1
  8. package/docs/addMonth.mjs.html +1 -1
  9. package/docs/aes2str.mjs.html +1 -1
  10. package/docs/alive.mjs.html +1 -1
  11. package/docs/arr2dt.mjs.html +1 -1
  12. package/docs/arrAccum.mjs.html +1 -1
  13. package/docs/arrAdd.mjs.html +1 -1
  14. package/docs/arrAt.mjs.html +1 -1
  15. package/docs/arrDiff.mjs.html +1 -1
  16. package/docs/arrFilterByKeywords.mjs.html +1 -1
  17. package/docs/arrFilterByNum.mjs.html +1 -1
  18. package/docs/arrFilterByPnum.mjs.html +1 -1
  19. package/docs/arrFilterByPnumAndToLog.mjs.html +1 -1
  20. package/docs/arrFind.mjs.html +1 -1
  21. package/docs/arrGroupByMaxmin.mjs.html +1 -1
  22. package/docs/arrHas.mjs.html +1 -1
  23. package/docs/arrInsert.mjs.html +1 -1
  24. package/docs/arrLookupByMaxmin.mjs.html +1 -1
  25. package/docs/arrMax.mjs.html +1 -1
  26. package/docs/arrMin.mjs.html +1 -1
  27. package/docs/arrMulti.mjs.html +1 -1
  28. package/docs/arrNorm.mjs.html +1 -1
  29. package/docs/arrProduct.mjs.html +1 -1
  30. package/docs/arrPull.mjs.html +1 -1
  31. package/docs/arrPullAt.mjs.html +1 -1
  32. package/docs/arrReduce.mjs.html +1 -1
  33. package/docs/arrReverse.mjs.html +1 -1
  34. package/docs/arrSep.mjs.html +1 -1
  35. package/docs/arrSort.mjs.html +1 -1
  36. package/docs/asind.mjs.html +1 -1
  37. package/docs/atan2d.mjs.html +1 -1
  38. package/docs/atand.mjs.html +1 -1
  39. package/docs/attstr.mjs.html +1 -1
  40. package/docs/b642obj.mjs.html +1 -1
  41. package/docs/b642str.mjs.html +1 -1
  42. package/docs/b642u16arr.mjs.html +1 -1
  43. package/docs/b642u8arr.mjs.html +1 -1
  44. package/docs/binstr.mjs.html +1 -1
  45. package/docs/blob2ab.mjs.html +1 -1
  46. package/docs/blob2b64.mjs.html +1 -1
  47. package/docs/blob2str.mjs.html +1 -1
  48. package/docs/blob2u8arr.mjs.html +1 -1
  49. package/docs/blobs2b64s.mjs.html +1 -1
  50. package/docs/blobs2u8arrs.mjs.html +1 -1
  51. package/docs/bodyLog.mjs.html +1 -1
  52. package/docs/browserView.mjs.html +1 -1
  53. package/docs/browserViewFromBlob.mjs.html +1 -1
  54. package/docs/browserViewFromText.mjs.html +1 -1
  55. package/docs/browserViewFromU8arr.mjs.html +1 -1
  56. package/docs/bs2u8arr.mjs.html +1 -1
  57. package/docs/bufRead.mjs.html +1 -1
  58. package/docs/bufReadDbl.mjs.html +1 -1
  59. package/docs/bufWrite.mjs.html +1 -1
  60. package/docs/bufWriteDbl.mjs.html +1 -1
  61. package/docs/cache.mjs.html +98 -18
  62. package/docs/cacheBd.mjs.html +1 -1
  63. package/docs/cacheSt.mjs.html +1 -1
  64. package/docs/cbol.mjs.html +1 -1
  65. package/docs/cdbl.mjs.html +1 -1
  66. package/docs/ceil.mjs.html +1 -1
  67. package/docs/cfilesize.mjs.html +1 -1
  68. package/docs/cfinancial.mjs.html +1 -1
  69. package/docs/cint.mjs.html +1 -1
  70. package/docs/clearXSS.mjs.html +1 -1
  71. package/docs/clearXSSDyn.mjs.html +1 -1
  72. package/docs/color.mjs.html +1 -1
  73. package/docs/composeToTree.mjs.html +1 -1
  74. package/docs/convertToTree.mjs.html +1 -1
  75. package/docs/copyStrToClipboard.mjs.html +1 -1
  76. package/docs/cosd.mjs.html +1 -1
  77. package/docs/cotd.mjs.html +1 -1
  78. package/docs/createExcelWorkbook.mjs.html +1 -1
  79. package/docs/cscd.mjs.html +1 -1
  80. package/docs/cstr.mjs.html +1 -1
  81. package/docs/day2cht.mjs.html +1 -1
  82. package/docs/debounce.mjs.html +1 -1
  83. package/docs/delay.mjs.html +1 -1
  84. package/docs/dig.mjs.html +1 -1
  85. package/docs/digExp.mjs.html +1 -1
  86. package/docs/domAlert.mjs.html +1 -1
  87. package/docs/domAppend.mjs.html +1 -1
  88. package/docs/domCancelEvent.mjs.html +1 -1
  89. package/docs/domCompareText.mjs.html +1 -1
  90. package/docs/domConvertToPic.mjs.html +1 -1
  91. package/docs/domConvertToPicDyn.mjs.html +1 -1
  92. package/docs/domDetect.mjs.html +1 -1
  93. package/docs/domDrag.mjs.html +1 -1
  94. package/docs/domDragBarAndScroll.mjs.html +1 -1
  95. package/docs/domDragPreview.mjs.html +1 -1
  96. package/docs/domDropFiles.mjs.html +1 -1
  97. package/docs/domElementsFromPoint.mjs.html +1 -1
  98. package/docs/domFadeIn.mjs.html +1 -1
  99. package/docs/domFadeOut.mjs.html +1 -1
  100. package/docs/domFind.mjs.html +1 -1
  101. package/docs/domFinds.mjs.html +1 -1
  102. package/docs/domGetAttr.mjs.html +1 -1
  103. package/docs/domGetBoudRect.mjs.html +1 -1
  104. package/docs/domGetBoudRectRefSelf.mjs.html +1 -1
  105. package/docs/domGetFileAccept.mjs.html +1 -1
  106. package/docs/domGetFiles.mjs.html +1 -1
  107. package/docs/domGetParents.mjs.html +1 -1
  108. package/docs/domGetPointFromEvent.mjs.html +1 -1
  109. package/docs/domGetScrollableParent.mjs.html +1 -1
  110. package/docs/domGetWindowSize.mjs.html +1 -1
  111. package/docs/domIsClientXYIn.mjs.html +1 -1
  112. package/docs/domIsFocused.mjs.html +1 -1
  113. package/docs/domIsStable.mjs.html +1 -1
  114. package/docs/domIsVisible.mjs.html +1 -1
  115. package/docs/domPrepend.mjs.html +1 -1
  116. package/docs/domRemove.mjs.html +1 -1
  117. package/docs/domRenderMarkdownMind.mjs.html +1 -1
  118. package/docs/domRenderMarkdownMindDyn.mjs.html +1 -1
  119. package/docs/domRipple.mjs.html +1 -1
  120. package/docs/domScrollIntoView.mjs.html +1 -1
  121. package/docs/domScrollTo.mjs.html +1 -1
  122. package/docs/domSetAttr.mjs.html +1 -1
  123. package/docs/domShowImages.mjs.html +1 -1
  124. package/docs/domShowImagesDyn.mjs.html +1 -1
  125. package/docs/domShowInputAndGetFiles.mjs.html +1 -1
  126. package/docs/domShowInputAndGetFilesU8Arrs.mjs.html +1 -1
  127. package/docs/domShowInputDatatime.mjs.html +1 -1
  128. package/docs/domTooltip.mjs.html +1 -1
  129. package/docs/domTriggerEvent.mjs.html +1 -1
  130. package/docs/domVirtualCreate.mjs.html +1 -1
  131. package/docs/domVirtualCreateQueue.mjs.html +1 -1
  132. package/docs/downloadExcelFileFromData.mjs.html +1 -1
  133. package/docs/downloadExcelFileFromDataDyn.mjs.html +1 -1
  134. package/docs/downloadFileFromB64.mjs.html +1 -1
  135. package/docs/downloadFileFromBlob.mjs.html +1 -1
  136. package/docs/downloadFileFromText.mjs.html +1 -1
  137. package/docs/downloadFileFromU8Arr.mjs.html +1 -1
  138. package/docs/dtmapping.mjs.html +1 -1
  139. package/docs/dtpick.mjs.html +1 -1
  140. package/docs/estimateTicks.mjs.html +1 -1
  141. package/docs/evem.mjs.html +1 -1
  142. package/docs/examples/ex-blob2b64.html +1 -1
  143. package/docs/examples/ex-clearXSS.html +1 -1
  144. package/docs/examples/ex-clearXSSDyn.html +1 -1
  145. package/docs/examples/ex-colorConverter.html +1 -1
  146. package/docs/examples/ex-domCompareText.html +1 -1
  147. package/docs/examples/ex-domConvertToPic.html +1 -1
  148. package/docs/examples/ex-domDrag.html +1 -1
  149. package/docs/examples/ex-domDropFiles.html +1 -1
  150. package/docs/examples/ex-domIsVisible.html +1 -1
  151. package/docs/examples/ex-domRenderMarkdownMind.html +1 -1
  152. package/docs/examples/ex-domRenderMarkdownMindDyn.html +1 -1
  153. package/docs/examples/ex-domRipple.html +1 -1
  154. package/docs/examples/ex-domScrollIntoView.html +1 -1
  155. package/docs/examples/ex-domScrollTo.html +1 -1
  156. package/docs/examples/ex-domShowImages.html +1 -1
  157. package/docs/examples/ex-domShowImagesDyn.html +1 -1
  158. package/docs/examples/ex-domShowInputAndGetFiles.html +1 -1
  159. package/docs/examples/ex-domTooltip.html +1 -1
  160. package/docs/examples/ex-getFileHash.html +1 -1
  161. package/docs/examples/ex-getUserAgent.html +1 -1
  162. package/docs/examples/ex-getUserAgentDyn.html +1 -1
  163. package/docs/examples/ex-html2str.html +1 -1
  164. package/docs/examples/ex-obj2u8arr-u8arr2obj.html +1 -1
  165. package/docs/examples/ex-openLink.html +1 -1
  166. package/docs/examples/ex-str2aes-aes2str.html +1 -1
  167. package/docs/examples/ex-str2b64-b642str.html +1 -1
  168. package/docs/examples/ex-strFindFuzz.html +1 -1
  169. package/docs/examples/ex-timeTZ2expire-timeTZ2past.html +1 -1
  170. package/docs/examples/ex-xlsx.html +1 -1
  171. package/docs/execCli.mjs.html +1 -1
  172. package/docs/execJsCode.mjs.html +1 -1
  173. package/docs/execProcess.mjs.html +1 -1
  174. package/docs/execProcessKillPid.mjs.html +1 -1
  175. package/docs/filepathToTree.mjs.html +1 -1
  176. package/docs/files2data.mjs.html +1 -1
  177. package/docs/flattenToConn.mjs.html +1 -1
  178. package/docs/flattenTree.mjs.html +1 -1
  179. package/docs/floor.mjs.html +1 -1
  180. package/docs/fsBuildReadStreamText.mjs.html +1 -1
  181. package/docs/fsBuildWriteStreamText.mjs.html +1 -1
  182. package/docs/fsCleanFolder.mjs.html +1 -1
  183. package/docs/fsCleanFolderCore.mjs.html +1 -1
  184. package/docs/fsCopyFile.mjs.html +1 -1
  185. package/docs/fsCopyFileCore.mjs.html +1 -1
  186. package/docs/fsCopyFolder.mjs.html +1 -1
  187. package/docs/fsCopyFolderCore.mjs.html +1 -1
  188. package/docs/fsCreateFile.mjs.html +1 -1
  189. package/docs/fsCreateFileCore.mjs.html +1 -1
  190. package/docs/fsCreateFolder.mjs.html +1 -1
  191. package/docs/fsCreateFolderCore.mjs.html +1 -1
  192. package/docs/fsDeleteFile.mjs.html +1 -1
  193. package/docs/fsDeleteFileCore.mjs.html +1 -1
  194. package/docs/fsDeleteFileSafe.mjs.html +1 -1
  195. package/docs/fsDeleteFileSafeCore.mjs.html +1 -1
  196. package/docs/fsDeleteFolder.mjs.html +1 -1
  197. package/docs/fsDeleteFolderCore.mjs.html +1 -1
  198. package/docs/fsDeleteFolderSafe.mjs.html +1 -1
  199. package/docs/fsDeleteFolderSafeCore.mjs.html +1 -1
  200. package/docs/fsDownloadFile.mjs.html +1 -1
  201. package/docs/fsDownloadFileCore.mjs.html +1 -1
  202. package/docs/fsEvem.mjs.html +1 -1
  203. package/docs/fsExists.mjs.html +1 -1
  204. package/docs/fsExistsCore.mjs.html +1 -1
  205. package/docs/fsGetFileBasicHash.mjs.html +1 -1
  206. package/docs/fsGetFileBasicHashCore.mjs.html +1 -1
  207. package/docs/fsGetFileHash.mjs.html +1 -1
  208. package/docs/fsGetFileHashCore.mjs.html +1 -1
  209. package/docs/fsGetFileXxHash.mjs.html +1 -1
  210. package/docs/fsGetFileXxHashCore.mjs.html +1 -1
  211. package/docs/fsGetFilesInFolder.mjs.html +1 -1
  212. package/docs/fsGetFilesInFolderCore.mjs.html +1 -1
  213. package/docs/fsGetFilesWithHashInFolder.mjs.html +1 -1
  214. package/docs/fsGetFilesWithHashInFolderCore.mjs.html +1 -1
  215. package/docs/fsGetFolderBasicHash.mjs.html +1 -1
  216. package/docs/fsGetFolderBasicHashCore.mjs.html +1 -1
  217. package/docs/fsGetFoldersInFolder.mjs.html +1 -1
  218. package/docs/fsGetFoldersInFolderCore.mjs.html +1 -1
  219. package/docs/fsIsFile.mjs.html +1 -1
  220. package/docs/fsIsFileCore.mjs.html +1 -1
  221. package/docs/fsIsFolder.mjs.html +1 -1
  222. package/docs/fsIsFolderCore.mjs.html +1 -1
  223. package/docs/fsMergeFiles.mjs.html +1 -1
  224. package/docs/fsMergeFilesCore.mjs.html +1 -1
  225. package/docs/fsReadJson.mjs.html +1 -1
  226. package/docs/fsReadText.mjs.html +1 -1
  227. package/docs/fsReadTextCore.mjs.html +1 -1
  228. package/docs/fsRenameFile.mjs.html +1 -1
  229. package/docs/fsRenameFileCore.mjs.html +1 -1
  230. package/docs/fsRenameFolder.mjs.html +1 -1
  231. package/docs/fsRenameFolderCore.mjs.html +1 -1
  232. package/docs/fsSrlog.mjs.html +1 -1
  233. package/docs/fsSyncFolder.mjs.html +1 -1
  234. package/docs/fsSyncFolderCore.mjs.html +1 -1
  235. package/docs/fsTask.mjs.html +1 -1
  236. package/docs/fsTaskCp.mjs.html +1 -1
  237. package/docs/fsTreeFolder.mjs.html +1 -1
  238. package/docs/fsTreeFolderCore.mjs.html +1 -1
  239. package/docs/fsTreeFolderWithHash.mjs.html +1 -1
  240. package/docs/fsTreeFolderWithHashCore.mjs.html +1 -1
  241. package/docs/fsWatchFile.mjs.html +1 -1
  242. package/docs/fsWatchFolder.mjs.html +1 -1
  243. package/docs/fsWriteJson.mjs.html +1 -1
  244. package/docs/fsWriteText.mjs.html +1 -1
  245. package/docs/fsWriteTextCore.mjs.html +1 -1
  246. package/docs/genGradientColor.mjs.html +1 -1
  247. package/docs/genID.mjs.html +1 -1
  248. package/docs/genIDSeq.mjs.html +1 -1
  249. package/docs/genPm.mjs.html +1 -1
  250. package/docs/getBufferSize.mjs.html +1 -1
  251. package/docs/getClearPathName.mjs.html +1 -1
  252. package/docs/getCsvStrFromData.mjs.html +1 -1
  253. package/docs/getDataFromExcelFileU8Arr.mjs.html +1 -1
  254. package/docs/getDataFromExcelFileU8ArrDyn.mjs.html +1 -1
  255. package/docs/getEnv.mjs.html +1 -1
  256. package/docs/getErrorMessage.mjs.html +1 -1
  257. package/docs/getExcelU8ArrFromData.mjs.html +1 -1
  258. package/docs/getExcelU8ArrFromWorkbook.mjs.html +1 -1
  259. package/docs/getExcelWorkbookFromData.mjs.html +1 -1
  260. package/docs/getExcelWorkbookFromWorksheet.mjs.html +1 -1
  261. package/docs/getExcelWorksheetFromData.mjs.html +1 -1
  262. package/docs/getFileAccept.mjs.html +1 -1
  263. package/docs/getFileBasicHash.mjs.html +1 -1
  264. package/docs/getFileHash.mjs.html +1 -1
  265. package/docs/getFileName.mjs.html +1 -1
  266. package/docs/getFileNameExt.mjs.html +1 -1
  267. package/docs/getFileTrueName.mjs.html +1 -1
  268. package/docs/getFileType.mjs.html +1 -1
  269. package/docs/getFileXxHash.mjs.html +1 -1
  270. package/docs/getGlobal.mjs.html +1 -1
  271. package/docs/getObjSize.mjs.html +1 -1
  272. package/docs/getPathParent.mjs.html +1 -1
  273. package/docs/getTimeBetween.mjs.html +1 -1
  274. package/docs/getTimeFromUnit.mjs.html +1 -1
  275. package/docs/getTimeHp.mjs.html +1 -1
  276. package/docs/getTimeObject.mjs.html +1 -1
  277. package/docs/getTimeRange.mjs.html +1 -1
  278. package/docs/getUserAgent.mjs.html +1 -1
  279. package/docs/getUserAgentDyn.mjs.html +1 -1
  280. package/docs/getltdtkeys.mjs.html +1 -1
  281. package/docs/global.html +1 -1
  282. package/docs/haskey.mjs.html +1 -1
  283. package/docs/html2str.mjs.html +1 -1
  284. package/docs/htmlDecode.mjs.html +1 -1
  285. package/docs/htmlEncode.mjs.html +1 -1
  286. package/docs/importResources.mjs.html +1 -1
  287. package/docs/index.html +1 -1
  288. package/docs/interp1.mjs.html +1 -1
  289. package/docs/isDate.mjs.html +1 -1
  290. package/docs/isDev.mjs.html +1 -1
  291. package/docs/isEle.mjs.html +1 -1
  292. package/docs/isEleExistByID.mjs.html +1 -1
  293. package/docs/isEmail.mjs.html +1 -1
  294. package/docs/isErr.mjs.html +1 -1
  295. package/docs/isIE.mjs.html +1 -1
  296. package/docs/isNarrow.mjs.html +1 -1
  297. package/docs/isStrHasCapital.mjs.html +1 -1
  298. package/docs/isStrHasLetter.mjs.html +1 -1
  299. package/docs/isStrHasLowerCase.mjs.html +1 -1
  300. package/docs/isStrHasNumber.mjs.html +1 -1
  301. package/docs/isStrHasSpace.mjs.html +1 -1
  302. package/docs/isStrHasSymbol.mjs.html +1 -1
  303. package/docs/isUserIdentify.mjs.html +1 -1
  304. package/docs/isUserName.mjs.html +1 -1
  305. package/docs/isUserPw.mjs.html +1 -1
  306. package/docs/isWindow.mjs.html +1 -1
  307. package/docs/isab.mjs.html +1 -1
  308. package/docs/isarr.mjs.html +1 -1
  309. package/docs/isarr0.mjs.html +1 -1
  310. package/docs/isbigint.mjs.html +1 -1
  311. package/docs/isblob.mjs.html +1 -1
  312. package/docs/isbol.mjs.html +1 -1
  313. package/docs/isday.mjs.html +1 -1
  314. package/docs/isearr.mjs.html +1 -1
  315. package/docs/iseobj.mjs.html +1 -1
  316. package/docs/iser.mjs.html +1 -1
  317. package/docs/isernot.mjs.html +1 -1
  318. package/docs/isestr.mjs.html +1 -1
  319. package/docs/isfile.mjs.html +1 -1
  320. package/docs/isfun.mjs.html +1 -1
  321. package/docs/isint.mjs.html +1 -1
  322. package/docs/ismonth.mjs.html +1 -1
  323. package/docs/isn0int.mjs.html +1 -1
  324. package/docs/isn0num.mjs.html +1 -1
  325. package/docs/isnan.mjs.html +1 -1
  326. package/docs/isnbr.mjs.html +1 -1
  327. package/docs/isnint.mjs.html +1 -1
  328. package/docs/isnnum.mjs.html +1 -1
  329. package/docs/isnull.mjs.html +1 -1
  330. package/docs/isnum.mjs.html +1 -1
  331. package/docs/isobj.mjs.html +1 -1
  332. package/docs/isobj0.mjs.html +1 -1
  333. package/docs/isp0int.mjs.html +1 -1
  334. package/docs/isp0num.mjs.html +1 -1
  335. package/docs/ispint.mjs.html +1 -1
  336. package/docs/ispm.mjs.html +1 -1
  337. package/docs/ispnum.mjs.html +1 -1
  338. package/docs/isstr.mjs.html +1 -1
  339. package/docs/isstr0.mjs.html +1 -1
  340. package/docs/istime.mjs.html +1 -1
  341. package/docs/istimeTZ.mjs.html +1 -1
  342. package/docs/istimems.mjs.html +1 -1
  343. package/docs/istimemsTZ.mjs.html +1 -1
  344. package/docs/isu16arr.mjs.html +1 -1
  345. package/docs/isu8arr.mjs.html +1 -1
  346. package/docs/isundefined.mjs.html +1 -1
  347. package/docs/j2o.mjs.html +1 -1
  348. package/docs/judge.mjs.html +1 -1
  349. package/docs/keysmat2ltdt.mjs.html +1 -1
  350. package/docs/ltdt2vrtsable.mjs.html +1 -1
  351. package/docs/ltdtDiff.mjs.html +1 -1
  352. package/docs/ltdtDiffByKey.mjs.html +1 -1
  353. package/docs/ltdtkeys2mat.mjs.html +1 -1
  354. package/docs/ltdtkeysheads2mat.mjs.html +1 -1
  355. package/docs/ltdtmapping.mjs.html +1 -1
  356. package/docs/ltdtmerge.mjs.html +1 -1
  357. package/docs/ltdtpick.mjs.html +1 -1
  358. package/docs/ltdtpull.mjs.html +1 -1
  359. package/docs/mat2ltdt.mjs.html +1 -1
  360. package/docs/matConcat.mjs.html +1 -1
  361. package/docs/matDiff.mjs.html +1 -1
  362. package/docs/matat.mjs.html +1 -1
  363. package/docs/now2str.mjs.html +1 -1
  364. package/docs/now2strp.mjs.html +1 -1
  365. package/docs/nowDay2str.mjs.html +1 -1
  366. package/docs/nowms2str.mjs.html +1 -1
  367. package/docs/nowms2strp.mjs.html +1 -1
  368. package/docs/o2j.mjs.html +1 -1
  369. package/docs/obj2b64.mjs.html +1 -1
  370. package/docs/obj2pb64.mjs.html +1 -1
  371. package/docs/obj2str.mjs.html +1 -1
  372. package/docs/obj2stru8arr.mjs.html +1 -1
  373. package/docs/obj2u8arr.mjs.html +1 -1
  374. package/docs/objSortBy.mjs.html +1 -1
  375. package/docs/objSortByKeys.mjs.html +1 -1
  376. package/docs/oo.mjs.html +1 -1
  377. package/docs/openLink.mjs.html +1 -1
  378. package/docs/pb642obj.mjs.html +1 -1
  379. package/docs/pmChain.mjs.html +1 -1
  380. package/docs/pmConvertResolve.mjs.html +1 -1
  381. package/docs/pmDebounce.mjs.html +1 -1
  382. package/docs/pmHook.mjs.html +1 -1
  383. package/docs/pmHookReject.mjs.html +1 -1
  384. package/docs/pmIni.mjs.html +1 -1
  385. package/docs/pmInvResolve.mjs.html +1 -1
  386. package/docs/pmKeyMutex.mjs.html +1 -1
  387. package/docs/pmMap.mjs.html +1 -1
  388. package/docs/pmQueue.mjs.html +1 -1
  389. package/docs/pmSeries.mjs.html +1 -1
  390. package/docs/pmThrottle.mjs.html +1 -1
  391. package/docs/pmTimeout.mjs.html +1 -1
  392. package/docs/preciseNum.mjs.html +1 -1
  393. package/docs/pseudoRandom.mjs.html +1 -1
  394. package/docs/pseudoRandomIntRange.mjs.html +1 -1
  395. package/docs/pseudoRandomIntsNdpRange.mjs.html +1 -1
  396. package/docs/pseudoRandomIntsRange.mjs.html +1 -1
  397. package/docs/pseudoRandomRange.mjs.html +1 -1
  398. package/docs/pseudoRandomsRange.mjs.html +1 -1
  399. package/docs/queue.mjs.html +1 -1
  400. package/docs/random.mjs.html +1 -1
  401. package/docs/randomIntRange.mjs.html +1 -1
  402. package/docs/randomIntsNdpRange.mjs.html +1 -1
  403. package/docs/randomIntsRange.mjs.html +1 -1
  404. package/docs/randomRange.mjs.html +1 -1
  405. package/docs/randomsRange.mjs.html +1 -1
  406. package/docs/rang.mjs.html +1 -1
  407. package/docs/rep.mjs.html +1 -1
  408. package/docs/repObj.mjs.html +1 -1
  409. package/docs/replace.mjs.html +1 -1
  410. package/docs/replaceObj.mjs.html +1 -1
  411. package/docs/replacePlus.mjs.html +1 -1
  412. package/docs/round.mjs.html +1 -1
  413. package/docs/secd.mjs.html +1 -1
  414. package/docs/sep.mjs.html +1 -1
  415. package/docs/sepInt.mjs.html +1 -1
  416. package/docs/setIntervalHp.mjs.html +1 -1
  417. package/docs/setTimeoutHp.mjs.html +1 -1
  418. package/docs/sind.mjs.html +1 -1
  419. package/docs/split.mjs.html +1 -1
  420. package/docs/str2aes.mjs.html +1 -1
  421. package/docs/str2b64.mjs.html +1 -1
  422. package/docs/str2hint.mjs.html +1 -1
  423. package/docs/str2md5.mjs.html +1 -1
  424. package/docs/str2obj.mjs.html +1 -1
  425. package/docs/str2sha.mjs.html +1 -1
  426. package/docs/str2sha512.mjs.html +1 -1
  427. package/docs/str2u8arr.mjs.html +1 -1
  428. package/docs/strCompare.mjs.html +1 -1
  429. package/docs/strDiff.mjs.html +1 -1
  430. package/docs/strDiffToHtml.mjs.html +1 -1
  431. package/docs/strFindFuzz.mjs.html +1 -1
  432. package/docs/strFindSimilar.mjs.html +1 -1
  433. package/docs/strTruncate.mjs.html +1 -1
  434. package/docs/strdelleft.mjs.html +1 -1
  435. package/docs/strdelright.mjs.html +1 -1
  436. package/docs/strleft.mjs.html +1 -1
  437. package/docs/strmid.mjs.html +1 -1
  438. package/docs/strright.mjs.html +1 -1
  439. package/docs/stru8arr2obj.mjs.html +1 -1
  440. package/docs/tand.mjs.html +1 -1
  441. package/docs/time2day.mjs.html +1 -1
  442. package/docs/time2hour.mjs.html +1 -1
  443. package/docs/time2min.mjs.html +1 -1
  444. package/docs/timeTZ2day.mjs.html +1 -1
  445. package/docs/timeTZ2expire.mjs.html +1 -1
  446. package/docs/timeTZ2hour.mjs.html +1 -1
  447. package/docs/timeTZ2min.mjs.html +1 -1
  448. package/docs/timeTZ2past.mjs.html +1 -1
  449. package/docs/timems2day.mjs.html +1 -1
  450. package/docs/timems2hour.mjs.html +1 -1
  451. package/docs/timems2min.mjs.html +1 -1
  452. package/docs/timems2time.mjs.html +1 -1
  453. package/docs/timemsTZ2day.mjs.html +1 -1
  454. package/docs/timemsTZ2expire.mjs.html +1 -1
  455. package/docs/timemsTZ2hour.mjs.html +1 -1
  456. package/docs/timemsTZ2min.mjs.html +1 -1
  457. package/docs/timemsTZ2past.mjs.html +1 -1
  458. package/docs/timemsTZ2time.mjs.html +1 -1
  459. package/docs/treeObj.mjs.html +1 -1
  460. package/docs/treeToFilepath.mjs.html +1 -1
  461. package/docs/trim.mjs.html +1 -1
  462. package/docs/u16arr2b64.mjs.html +1 -1
  463. package/docs/u16arr2u8arr.mjs.html +1 -1
  464. package/docs/u8arr2ab.mjs.html +1 -1
  465. package/docs/u8arr2b64.mjs.html +1 -1
  466. package/docs/u8arr2blob.mjs.html +1 -1
  467. package/docs/u8arr2bs.mjs.html +1 -1
  468. package/docs/u8arr2obj.mjs.html +1 -1
  469. package/docs/u8arr2str.mjs.html +1 -1
  470. package/docs/u8arr2u16arr.mjs.html +1 -1
  471. package/docs/urlParse.mjs.html +1 -1
  472. package/docs/verifyValue.mjs.html +1 -1
  473. package/docs/waitFun.mjs.html +1 -1
  474. package/docs/wsemi.html +91 -11
  475. package/package.json +1 -1
  476. package/src/cache.mjs +97 -17
  477. package/test/cache.test.mjs +74 -7
  478. package/toolfp/dist/wsemip.umd.js +1 -1
  479. package/toolparfor/dist/wpf.umd.js +1 -1
  480. package/toolparfor/dist/wpf_pmSeries.umd.js +1 -1
@@ -181,7 +181,7 @@ export default bufWrite
181
181
  <br class="clear">
182
182
 
183
183
  <footer>
184
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 15:53:18 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
184
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 16:53:07 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
185
185
  </footer>
186
186
 
187
187
  <script>prettyPrint();</script>
@@ -91,7 +91,7 @@ export default bufWriteDbl
91
91
  <br class="clear">
92
92
 
93
93
  <footer>
94
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 15:53:18 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
94
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 16:53:07 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
95
95
  </footer>
96
96
 
97
97
  <script>prettyPrint();</script>
@@ -61,7 +61,7 @@ import cint from './cint.mjs'
61
61
  *
62
62
  * Unit Test: {@link https://github.com/yuda-lyu/wsemi/blob/master/test/cache.test.mjs Github}
63
63
  * @memberOf wsemi
64
- * @returns {Object} 回傳事件物件,可呼叫函數on、set、get、getProxy、clear、remove。on為監聽事件,需自行監聽message與error事件。set為加入待執行函數,函數結束回傳欲快取的值,set傳入參數依序為key與快取物件,key為唯一識別字串,可使用函數加上輸入參數作為key,因考慮輸入參數可能為大量數據會有效能問題,由開發者自行決定key,而快取物件需設定欄位fun為待執行的非同步函數、inputs為待執行函數fun的傳入參數組、timeExpired為過期時間整數,單位為毫秒ms,預設5000、timeFrom為快取時間之起算點,可選'start'或'end','start'為自函數開始執行時起算,'end'為自函數執行完畢時起算,預設'start'、useCacheError為函數執行失敗時是否快取,預設true,失敗時快取值為undefined並保留整個timeExpired,若設定false則失敗不快取,錯誤會拋給呼叫端(含等待中之併發呼叫)且下次get重新執行、useCloneDeep為取值時是否複製快取值後才回傳,預設true,因快取值若為物件則可能受外部調用而被修改到快取區的記憶體,若快取值為大量數據可設定false以節省複製開銷,但呼叫端須自行確保不修改所取得之值。get為依照key取得目前快取值,若該key之函數執行中則共用執行中之promise,待其執行完畢即一併取得結果,不另行輪詢,get傳入參數依序為key與設定物件,設定物件之欄位useCloneDeep可覆寫set時之設定,未指定時沿用set之設定。getProxy為合併set與get功能,直接set註冊待執行函數與取值,傳入參數同set,且會一併傳給get,回傳同get。update為強制更新key所屬快取值,同時也會更新該快取之時間至當前,於函數執行中呼叫時以update之值為準,不被執行結果覆寫。clear為清除key所屬快取的是否執行標記,使該快取視為需重新執行函數取值,於函數執行中呼叫亦有效,執行中之呼叫仍取得本次結果,下次get才重新執行。remove為直接清除key所屬快取,清除後用set重設
64
+ * @returns {Object} 回傳事件物件,可呼叫函數on、set、get、getProxy、clear、remove。on為監聽事件,需自行監聽message與error事件。set為加入待執行函數,函數結束回傳欲快取的值,set傳入參數依序為key與快取物件,key為唯一識別字串,可使用函數加上輸入參數作為key,因考慮輸入參數可能為大量數據會有效能問題,由開發者自行決定key,而快取物件需設定欄位fun為待執行的非同步函數、inputs為待執行函數fun的傳入參數組、timeExpired為過期時間整數,單位為毫秒ms,預設5000、timeFrom為快取時間之起算點,可選'start'或'end','start'為自函數開始執行時起算,'end'為自函數執行完畢時起算,預設'start'、useCacheWhenError為函數執行失敗時是否仍寫入快取,預設false,失敗不寫入快取,錯誤會拋給呼叫端(含等待中之併發呼叫)且下次get會重新執行,故呼叫端需自行catch,若設定true則失敗仍寫入快取,此時快取值為undefined並保留整個timeExpired,呼叫端不會收到錯誤而是取得undefined、useCloneDeep為取值時是否複製快取值後才回傳,預設true,因快取值若為物件則可能受外部調用而被修改到快取區的記憶體,若快取值為大量數據可設定false以節省複製開銷,但呼叫端須自行確保不修改所取得之值。get為依照key取得目前快取值,若該key之函數執行中則共用執行中之promise,待其執行完畢即一併取得結果,不另行輪詢,get傳入參數依序為key與設定物件,設定物件之欄位useCloneDeep可覆寫set時之設定,未指定時沿用set之設定。getProxy為合併set與get功能,直接set註冊待執行函數與取值,傳入參數同set,且會一併傳給get,回傳同get。update為強制更新key所屬快取值,同時也會更新該快取之時間至當前,於函數執行中呼叫時以update之值為準,不被執行結果覆寫。clear為清除key所屬快取的是否執行標記,使該快取視為需重新執行函數取值,於函數執行中呼叫亦有效,執行中之呼叫仍取得本次結果,下次get才重新執行。remove為直接清除key所屬快取,清除後用set重設
65
65
  * @example
66
66
  *
67
67
  * async function topAsync() {
@@ -102,6 +102,10 @@ import cint from './cint.mjs'
102
102
  * console.log('fun 1st', msg)
103
103
  * ms.push('fun 1st', msg)
104
104
  * })
105
+ * .catch(function(err) {
106
+ * console.log('fun 1st error', err)
107
+ * ms.push('fun 1st error', String(err))
108
+ * })
105
109
  * }, 1)
106
110
  * setTimeout(function() {
107
111
  * //第2次呼叫(50ms), 此時第1次呼叫還沒完成(要到300ms), 故get會共用執行中的promise等待, 於第1次執行完畢(300ms)時一併取得第1次結果(count=1)
@@ -110,6 +114,10 @@ import cint from './cint.mjs'
110
114
  * console.log('fun 2nd', msg)
111
115
  * ms.push('fun 2nd', msg)
112
116
  * })
117
+ * .catch(function(err) {
118
+ * console.log('fun 2nd error', err)
119
+ * ms.push('fun 2nd error', String(err))
120
+ * })
113
121
  * }, 50)
114
122
  * setTimeout(function() {
115
123
  * //第3次呼叫(250ms), 此時第1次呼叫還沒完成(要到300ms), 同第2次呼叫共用執行中的promise等待, 於300ms時一併取得第1次結果(count=1)
@@ -118,6 +126,10 @@ import cint from './cint.mjs'
118
126
  * console.log('fun 3rd', msg)
119
127
  * ms.push('fun 3rd', msg)
120
128
  * })
129
+ * .catch(function(err) {
130
+ * console.log('fun 3rd error', err)
131
+ * ms.push('fun 3rd error', String(err))
132
+ * })
121
133
  * }, 250)
122
134
  * setTimeout(function() {
123
135
  * //第4次呼叫(500ms), 此時第1次呼叫已結束(300ms), 且第1次快取(count=1)未過期(要到1200ms), 故get可拿到第1次計算的快取(count=1)
@@ -126,6 +138,10 @@ import cint from './cint.mjs'
126
138
  * console.log('fun 4th', msg)
127
139
  * ms.push('fun 4th', msg)
128
140
  * })
141
+ * .catch(function(err) {
142
+ * console.log('fun 4th error', err)
143
+ * ms.push('fun 4th error', String(err))
144
+ * })
129
145
  * }, 500)
130
146
  * setTimeout(function() {
131
147
  * //第5次呼叫(1300ms), 此時第1次快取(count=1)已過期(1200ms), 故重新執行取值(1300~1600ms執行, 2500ms過期), 於1600ms取得第2次結果(count=2)
@@ -134,6 +150,10 @@ import cint from './cint.mjs'
134
150
  * console.log('fun 5th', msg)
135
151
  * ms.push('fun 5th', msg)
136
152
  * })
153
+ * .catch(function(err) {
154
+ * console.log('fun 5th error', err)
155
+ * ms.push('fun 5th error', String(err))
156
+ * })
137
157
  * }, 1300)
138
158
  * setTimeout(function() {
139
159
  * //第6次呼叫(1600ms), 此時第2次執行剛好結束(1600ms), 若尚未結束則共用執行中的promise等待, 若已結束則直接拿快取, 皆會取得第2次結果(count=2)
@@ -142,6 +162,10 @@ import cint from './cint.mjs'
142
162
  * console.log('fun 6th', msg)
143
163
  * ms.push('fun 6th', msg)
144
164
  * })
165
+ * .catch(function(err) {
166
+ * console.log('fun 6th error', err)
167
+ * ms.push('fun 6th error', String(err))
168
+ * })
145
169
  * }, 1600)
146
170
  *
147
171
  * setTimeout(function() {
@@ -192,7 +216,12 @@ import cint from './cint.mjs'
192
216
  * })
193
217
  * }
194
218
  *
195
- * oc.getProxy('fun', { fun, inputs: ['inp1', 'inp2'], timeExpired: 1200 }) //首次getProxy即註冊並執行取值(0~300ms), 快取1200ms, 但第1次執行就需要300ms, 故執行完畢後只會再保留800ms
219
+ * //首次getProxy即註冊並執行取值(0~300ms), 快取1200ms, 但第1次執行就需要300ms, 故執行完畢後只會再保留800ms
220
+ * //因useCacheWhenError預設false, 函數執行失敗時get與getProxy會reject, 故此種不取值之呼叫仍須接catch, 否則會產生unhandled rejection
221
+ * oc.getProxy('fun', { fun, inputs: ['inp1', 'inp2'], timeExpired: 1200 })
222
+ * .catch(function(err) {
223
+ * console.log('getProxy error', err)
224
+ * })
196
225
  * setTimeout(function() {
197
226
  * //第1次呼叫(1ms), 此時首次getProxy執行中, 會共用執行中的promise等待, 於300ms取得第1次結果(count=1)
198
227
  * oc.getProxy('fun', { fun, inputs: ['inp1', 'inp2'], timeExpired: 1200 })
@@ -200,6 +229,10 @@ import cint from './cint.mjs'
200
229
  * console.log('fun 1st', msg)
201
230
  * ms.push('fun 1st', msg)
202
231
  * })
232
+ * .catch(function(err) {
233
+ * console.log('fun 1st error', err)
234
+ * ms.push('fun 1st error', String(err))
235
+ * })
203
236
  * }, 1)
204
237
  * setTimeout(function() {
205
238
  * //第2次呼叫(100ms), 此時執行中, 同第1次呼叫共用執行中的promise等待, 於300ms取得第1次結果(count=1)
@@ -208,6 +241,10 @@ import cint from './cint.mjs'
208
241
  * console.log('fun 2nd', msg)
209
242
  * ms.push('fun 2nd', msg)
210
243
  * })
244
+ * .catch(function(err) {
245
+ * console.log('fun 2nd error', err)
246
+ * ms.push('fun 2nd error', String(err))
247
+ * })
211
248
  * }, 100)
212
249
  * setTimeout(function() {
213
250
  * //第3次呼叫(500ms), 此時已有快取, 直接取得第1次結果(count=1)
@@ -216,6 +253,10 @@ import cint from './cint.mjs'
216
253
  * console.log('fun 3rd', msg)
217
254
  * ms.push('fun 3rd', msg)
218
255
  * })
256
+ * .catch(function(err) {
257
+ * console.log('fun 3rd error', err)
258
+ * ms.push('fun 3rd error', String(err))
259
+ * })
219
260
  * }, 500)
220
261
  * setTimeout(function() {
221
262
  * //第4次呼叫(1300ms), 此時第1次快取(count=1)已失效(1200ms), 會重新呼叫函數取值(1300~1600ms), 取得第2次結果(count=2)
@@ -224,6 +265,10 @@ import cint from './cint.mjs'
224
265
  * console.log('fun 4th', msg)
225
266
  * ms.push('fun 4th', msg)
226
267
  * })
268
+ * .catch(function(err) {
269
+ * console.log('fun 4th error', err)
270
+ * ms.push('fun 4th error', String(err))
271
+ * })
227
272
  * }, 1300)
228
273
  *
229
274
  * setTimeout(function() {
@@ -272,7 +317,12 @@ import cint from './cint.mjs'
272
317
  * })
273
318
  * }
274
319
  *
275
- * oc.getProxy('fun', { fun, inputs: ['inp1', 'inp2'], timeExpired: 1500 }) //首次getProxy即註冊並執行取值(0~300ms), 快取1500ms, 但第1次執行就需要300ms, 故執行完畢後只會再保留1200ms
320
+ * //首次getProxy即註冊並執行取值(0~300ms), 快取1500ms, 但第1次執行就需要300ms, 故執行完畢後只會再保留1200ms
321
+ * //因useCacheWhenError預設false, 函數執行失敗時get與getProxy會reject, 故此種不取值之呼叫仍須接catch, 否則會產生unhandled rejection
322
+ * oc.getProxy('fun', { fun, inputs: ['inp1', 'inp2'], timeExpired: 1500 })
323
+ * .catch(function(err) {
324
+ * console.log('getProxy error', err)
325
+ * })
276
326
  * setTimeout(function() {
277
327
  * //第1次呼叫(延遲1ms), 此時首次getProxy執行中, 會共用執行中的promise等待, 於300ms取得第1次結果(count=1)
278
328
  * oc.getProxy('fun', { fun, inputs: ['inp1', 'inp2'], timeExpired: 1500 })
@@ -280,6 +330,10 @@ import cint from './cint.mjs'
280
330
  * console.log('fun 1st', msg)
281
331
  * ms.push('fun 1st', msg)
282
332
  * })
333
+ * .catch(function(err) {
334
+ * console.log('fun 1st error', err)
335
+ * ms.push('fun 1st error', String(err))
336
+ * })
283
337
  * }, 1)
284
338
  * setTimeout(function() {
285
339
  * //第2次呼叫(延遲200ms), 此時執行中, 同第1次呼叫共用執行中的promise等待, 於300ms取得第1次結果(count=1), 早於被強制更新(1100ms)
@@ -288,6 +342,10 @@ import cint from './cint.mjs'
288
342
  * console.log('fun 2nd', msg)
289
343
  * ms.push('fun 2nd', msg)
290
344
  * })
345
+ * .catch(function(err) {
346
+ * console.log('fun 2nd error', err)
347
+ * ms.push('fun 2nd error', String(err))
348
+ * })
291
349
  * }, 200)
292
350
  * setTimeout(function() {
293
351
  * //第3次呼叫(500ms), 此時已有快取, 直接取得第1次結果(count=1)
@@ -296,6 +354,10 @@ import cint from './cint.mjs'
296
354
  * console.log('fun 3rd', msg)
297
355
  * ms.push('fun 3rd', msg)
298
356
  * })
357
+ * .catch(function(err) {
358
+ * console.log('fun 3rd error', err)
359
+ * ms.push('fun 3rd error', String(err))
360
+ * })
299
361
  * }, 500)
300
362
  * setTimeout(function() {
301
363
  * //更新快取值(延遲1100ms), 快取值為abc, 快取時間也被更新至此時, 故會重新計算1500ms才會失效
@@ -310,6 +372,10 @@ import cint from './cint.mjs'
310
372
  * console.log('fun 4th', msg)
311
373
  * ms.push('fun 4th', msg)
312
374
  * })
375
+ * .catch(function(err) {
376
+ * console.log('fun 4th error', err)
377
+ * ms.push('fun 4th error', String(err))
378
+ * })
313
379
  * }, 1300)
314
380
  * setTimeout(function() {
315
381
  * //第5次呼叫(延遲2700ms), 此時被強制更新之快取值(abc)已失效, 會重新呼叫函數取值, 取得第2次結果(count=2)
@@ -318,6 +384,10 @@ import cint from './cint.mjs'
318
384
  * console.log('fun 5th', msg)
319
385
  * ms.push('fun 5th', msg)
320
386
  * })
387
+ * .catch(function(err) {
388
+ * console.log('fun 5th error', err)
389
+ * ms.push('fun 5th error', String(err))
390
+ * })
321
391
  * }, 2700)
322
392
  *
323
393
  * setTimeout(function() {
@@ -414,7 +484,7 @@ import cint from './cint.mjs'
414
484
  * // {"v1":"count=1","v2":"count=2","v3":"count=1","v4":"count=1"}
415
485
  *
416
486
  * async function test6() {
417
- * //useCacheError: 預設true失敗快取undefined; false時失敗不快取, 錯誤拋給執行者與等待中之併發呼叫, 下次get重新執行, error事件仍發出
487
+ * //useCacheWhenError: 預設false則失敗不寫入快取, 錯誤拋給執行者與等待中之併發呼叫, 下次get重新執行; 設true則失敗仍寫入快取(值為undefined)並保留整個timeExpired, 呼叫端取得undefined而非收到錯誤; 兩者error事件皆發出
418
488
  * let oc = cache()
419
489
  *
420
490
  * let errs = []
@@ -437,7 +507,7 @@ import cint from './cint.mjs'
437
507
  * })
438
508
  * }
439
509
  *
440
- * oc.set('fun', { fun, inputs: [], timeExpired: 30000, useCacheError: false })
510
+ * oc.set('fun', { fun, inputs: [], timeExpired: 30000 }) //預設useCacheWhenError=false
441
511
  *
442
512
  * //第1次執行失敗: 執行者與等待中之併發呼叫皆收到reject
443
513
  * let pm1 = oc.get('fun').then((v) => 'ok:' + v).catch((e) => 'err:' + e.message)
@@ -446,22 +516,32 @@ import cint from './cint.mjs'
446
516
  * let r1 = await pm1
447
517
  * let r2 = await pm2
448
518
  *
449
- * //第2次執行仍失敗(失敗不快取故重新執行)
519
+ * //第2次執行仍失敗(失敗不寫入快取故重新執行)
450
520
  * let r3 = await oc.get('fun').then((v) => 'ok:' + v).catch((e) => 'err:' + e.message)
451
521
  *
452
522
  * //第3次執行成功並快取
453
523
  * let r4 = await oc.get('fun').then((v) => 'ok:' + v).catch((e) => 'err:' + e.message)
454
524
  * let r5 = await oc.get('fun').then((v) => 'ok:' + v).catch((e) => 'err:' + e.message)
455
525
  *
526
+ * //useCacheWhenError=true時, 失敗不拋錯而是取得undefined, 且快取整個timeExpired故不重新執行
527
+ * let m = 0
528
+ * let funErr = async () => {
529
+ * m++
530
+ * throw new Error('always down')
531
+ * }
532
+ * oc.set('funErr', { fun: funErr, inputs: [], timeExpired: 30000, useCacheWhenError: true })
533
+ * let c1 = await oc.get('funErr').then((v) => 'ok:' + v).catch((e) => 'err:' + e.message)
534
+ * let c2 = await oc.get('funErr').then((v) => 'ok:' + v).catch((e) => 'err:' + e.message)
535
+ *
456
536
  * await new Promise((resolve) => setTimeout(resolve, 50)) //error事件以timer脫勾發送, 稍待
457
537
  *
458
- * return { rs: [r1, r2, r3, r4, r5], n, errs }
538
+ * return { rs: [r1, r2, r3, r4, r5], n, cs: [c1, c2], m, errs }
459
539
  * }
460
540
  * console.log('test6')
461
541
  * let r6 = await test6()
462
542
  * console.log(JSON.stringify(r6))
463
543
  * // test6
464
- * // {"rs":["err:down1","err:down1","err:down2","ok:up3","ok:up3"],"n":3,"errs":["fun:down1","fun:down2"]}
544
+ * // {"rs":["err:down1","err:down1","err:down2","ok:up3","ok:up3"],"n":3,"cs":["ok:undefined","ok:undefined"],"m":1,"errs":["fun:down1","fun:down2","funErr:always down"]}
465
545
  *
466
546
  * async function test7() {
467
547
  * //useCloneDeep: 預設true回傳複製值, 呼叫端修改不影響快取; 設false則直接回傳快取內之值(為同一參照), 可省去大量數據之複製開銷, 但呼叫端須自行確保不修改
@@ -546,10 +626,10 @@ function cache() {
546
626
  timeFrom = 'start'
547
627
  }
548
628
 
549
- //useCacheError
550
- let useCacheError = loGet(opt, 'useCacheError')
551
- if (!isbol(useCacheError)) {
552
- useCacheError = true
629
+ //useCacheWhenError
630
+ let useCacheWhenError = loGet(opt, 'useCacheWhenError')
631
+ if (!isbol(useCacheWhenError)) {
632
+ useCacheWhenError = false
553
633
  }
554
634
 
555
635
  //useCloneDeep
@@ -569,10 +649,10 @@ function cache() {
569
649
  time: null,
570
650
  timeExpired,
571
651
  timeFrom,
572
- useCacheError,
652
+ useCacheWhenError,
573
653
  useCloneDeep,
574
654
  }
575
- emit('message', { fun: 'set', key, timeExpired, timeFrom, useCacheError, useCloneDeep })
655
+ emit('message', { fun: 'set', key, timeExpired, timeFrom, useCacheWhenError, useCloneDeep })
576
656
 
577
657
  }
578
658
 
@@ -625,14 +705,14 @@ function cache() {
625
705
  }
626
706
  catch (err) {
627
707
  emit('error', { fun: 'get', key, msg: err })
628
- if (!d.useCacheError) {
629
- //失敗不快取: 值與時間不動, 下次get重新執行, 錯誤拋給執行者與等待中之併發呼叫
708
+ if (!d.useCacheWhenError) {
709
+ //失敗不寫入快取: 值與時間不動, 下次get重新執行, 錯誤拋給執行者與等待中之併發呼叫
630
710
  if (d.gen === gen) {
631
711
  d.needExec = true
632
712
  }
633
713
  throw err
634
714
  }
635
- v = undefined //失敗快取: 值為undefined並保留整個timeExpired
715
+ v = undefined //失敗仍寫入快取: 值為undefined並保留整個timeExpired
636
716
  }
637
717
  if (d.gen === gen) {
638
718
  d.value = v
@@ -719,7 +799,7 @@ export default cache
719
799
  <br class="clear">
720
800
 
721
801
  <footer>
722
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 15:53:18 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
802
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 16:53:07 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
723
803
  </footer>
724
804
 
725
805
  <script>prettyPrint();</script>
@@ -298,7 +298,7 @@ export default cacheBd
298
298
  <br class="clear">
299
299
 
300
300
  <footer>
301
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 15:53:18 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
301
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 16:53:07 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
302
302
  </footer>
303
303
 
304
304
  <script>prettyPrint();</script>
@@ -349,7 +349,7 @@ export default cacheSt
349
349
  <br class="clear">
350
350
 
351
351
  <footer>
352
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 15:53:18 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
352
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 16:53:07 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
353
353
  </footer>
354
354
 
355
355
  <script>prettyPrint();</script>
@@ -140,7 +140,7 @@ export default cbol
140
140
  <br class="clear">
141
141
 
142
142
  <footer>
143
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 15:53:18 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
143
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 16:53:07 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
144
144
  </footer>
145
145
 
146
146
  <script>prettyPrint();</script>
@@ -91,7 +91,7 @@ export default cdbl
91
91
  <br class="clear">
92
92
 
93
93
  <footer>
94
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 15:53:18 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
94
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 16:53:07 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
95
95
  </footer>
96
96
 
97
97
  <script>prettyPrint();</script>
@@ -145,7 +145,7 @@ export default ceil
145
145
  <br class="clear">
146
146
 
147
147
  <footer>
148
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 15:53:18 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
148
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 16:53:07 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
149
149
  </footer>
150
150
 
151
151
  <script>prettyPrint();</script>
@@ -117,7 +117,7 @@ export default cfilesize
117
117
  <br class="clear">
118
118
 
119
119
  <footer>
120
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 15:53:18 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
120
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 16:53:07 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
121
121
  </footer>
122
122
 
123
123
  <script>prettyPrint();</script>
@@ -112,7 +112,7 @@ export default cfinancial
112
112
  <br class="clear">
113
113
 
114
114
  <footer>
115
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 15:53:18 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
115
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 16:53:07 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
116
116
  </footer>
117
117
 
118
118
  <script>prettyPrint();</script>
@@ -102,7 +102,7 @@ export default cint
102
102
  <br class="clear">
103
103
 
104
104
  <footer>
105
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 15:53:18 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
105
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 16:53:07 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
106
106
  </footer>
107
107
 
108
108
  <script>prettyPrint();</script>
@@ -132,7 +132,7 @@ export default clearXSS
132
132
  <br class="clear">
133
133
 
134
134
  <footer>
135
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 15:53:18 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
135
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 16:53:07 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
136
136
  </footer>
137
137
 
138
138
  <script>prettyPrint();</script>
@@ -106,7 +106,7 @@ export default clearXSSDyn
106
106
  <br class="clear">
107
107
 
108
108
  <footer>
109
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 15:53:18 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
109
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 16:53:07 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
110
110
  </footer>
111
111
 
112
112
  <script>prettyPrint();</script>
@@ -1628,7 +1628,7 @@ export default color()
1628
1628
  <br class="clear">
1629
1629
 
1630
1630
  <footer>
1631
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 15:53:18 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
1631
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 16:53:07 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
1632
1632
  </footer>
1633
1633
 
1634
1634
  <script>prettyPrint();</script>
@@ -374,7 +374,7 @@ export default composeToTree
374
374
  <br class="clear">
375
375
 
376
376
  <footer>
377
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 15:53:18 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
377
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 16:53:07 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
378
378
  </footer>
379
379
 
380
380
  <script>prettyPrint();</script>
@@ -1045,7 +1045,7 @@ export default convertToTree
1045
1045
  <br class="clear">
1046
1046
 
1047
1047
  <footer>
1048
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 15:53:18 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
1048
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 16:53:07 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
1049
1049
  </footer>
1050
1050
 
1051
1051
  <script>prettyPrint();</script>
@@ -128,7 +128,7 @@ export default copyStrToClipboard
128
128
  <br class="clear">
129
129
 
130
130
  <footer>
131
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 15:53:18 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
131
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 16:53:07 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
132
132
  </footer>
133
133
 
134
134
  <script>prettyPrint();</script>
@@ -143,7 +143,7 @@ export default cosd
143
143
  <br class="clear">
144
144
 
145
145
  <footer>
146
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 15:53:18 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
146
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 16:53:07 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
147
147
  </footer>
148
148
 
149
149
  <script>prettyPrint();</script>
@@ -144,7 +144,7 @@ export default cotd
144
144
  <br class="clear">
145
145
 
146
146
  <footer>
147
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 15:53:18 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
147
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 16:53:07 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
148
148
  </footer>
149
149
 
150
150
  <script>prettyPrint();</script>
@@ -86,7 +86,7 @@ export default createExcelWorkbook
86
86
  <br class="clear">
87
87
 
88
88
  <footer>
89
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 15:53:18 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
89
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 16:53:07 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
90
90
  </footer>
91
91
 
92
92
  <script>prettyPrint();</script>
@@ -144,7 +144,7 @@ export default cscd
144
144
  <br class="clear">
145
145
 
146
146
  <footer>
147
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 15:53:18 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
147
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 16:53:07 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
148
148
  </footer>
149
149
 
150
150
  <script>prettyPrint();</script>
@@ -109,7 +109,7 @@ export default cstr
109
109
  <br class="clear">
110
110
 
111
111
  <footer>
112
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 15:53:18 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
112
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 16:53:07 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
113
113
  </footer>
114
114
 
115
115
  <script>prettyPrint();</script>
@@ -98,7 +98,7 @@ export default day2cht
98
98
  <br class="clear">
99
99
 
100
100
  <footer>
101
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 15:53:18 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
101
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 16:53:07 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
102
102
  </footer>
103
103
 
104
104
  <script>prettyPrint();</script>
@@ -255,7 +255,7 @@ export default debounce
255
255
  <br class="clear">
256
256
 
257
257
  <footer>
258
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 15:53:18 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
258
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 16:53:07 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
259
259
  </footer>
260
260
 
261
261
  <script>prettyPrint();</script>
@@ -93,7 +93,7 @@ export default delay
93
93
  <br class="clear">
94
94
 
95
95
  <footer>
96
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 15:53:18 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
96
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 16:53:07 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
97
97
  </footer>
98
98
 
99
99
  <script>prettyPrint();</script>
package/docs/dig.mjs.html CHANGED
@@ -104,7 +104,7 @@ export default dig
104
104
  <br class="clear">
105
105
 
106
106
  <footer>
107
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 15:53:18 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
107
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 16:53:07 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
108
108
  </footer>
109
109
 
110
110
  <script>prettyPrint();</script>
@@ -108,7 +108,7 @@ export default digExp
108
108
  <br class="clear">
109
109
 
110
110
  <footer>
111
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 15:53:18 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
111
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 16:53:07 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
112
112
  </footer>
113
113
 
114
114
  <script>prettyPrint();</script>
@@ -452,7 +452,7 @@ export default domAlert
452
452
  <br class="clear">
453
453
 
454
454
  <footer>
455
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 15:53:18 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
455
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 16:53:07 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
456
456
  </footer>
457
457
 
458
458
  <script>prettyPrint();</script>
@@ -98,7 +98,7 @@ export default domAppend
98
98
  <br class="clear">
99
99
 
100
100
  <footer>
101
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 15:53:18 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
101
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 16:53:07 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
102
102
  </footer>
103
103
 
104
104
  <script>prettyPrint();</script>
@@ -104,7 +104,7 @@ export default domCancelEvent
104
104
  <br class="clear">
105
105
 
106
106
  <footer>
107
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 15:53:18 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
107
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Wed Sep 02 2026 16:53:07 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
108
108
  </footer>
109
109
 
110
110
  <script>prettyPrint();</script>