wsemi 1.9.21 → 1.9.23

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 (524) hide show
  1. package/README.md +1 -1
  2. package/dist/wsemi.umd.js +6 -6
  3. package/dist/wsemi.umd.js.map +1 -1
  4. package/docs/-_class.mjs.html +1 -1
  5. package/docs/-_const.mjs.html +1 -1
  6. package/docs/-_detector.mjs.html +1 -1
  7. package/docs/-_errToStr.mjs.html +1 -1
  8. package/docs/-_execThrownMsg.mjs.html +1 -1
  9. package/docs/-_isRealError.mjs.html +1 -1
  10. package/docs/-_optNum.mjs.html +1 -1
  11. package/docs/-_pmMarkHandled.mjs.html +1 -1
  12. package/docs/-_pmReadItems.mjs.html +1 -1
  13. package/docs/-_pmSettleByState.mjs.html +1 -1
  14. package/docs/-_realErrorToStr.mjs.html +1 -1
  15. package/docs/-_toResultError.mjs.html +1 -1
  16. package/docs/ab2blob.mjs.html +1 -1
  17. package/docs/ab2u8arr.mjs.html +1 -1
  18. package/docs/addExcelWorksheetFromData.mjs.html +1 -1
  19. package/docs/addMonth.mjs.html +1 -1
  20. package/docs/aes2str.mjs.html +1 -1
  21. package/docs/alive.mjs.html +1 -1
  22. package/docs/arr2dt.mjs.html +1 -1
  23. package/docs/arrAccum.mjs.html +1 -1
  24. package/docs/arrAdd.mjs.html +1 -1
  25. package/docs/arrAt.mjs.html +1 -1
  26. package/docs/arrDiff.mjs.html +1 -1
  27. package/docs/arrFilterByKeywords.mjs.html +1 -1
  28. package/docs/arrFilterByNum.mjs.html +1 -1
  29. package/docs/arrFilterByPnum.mjs.html +1 -1
  30. package/docs/arrFilterByPnumAndToLog.mjs.html +1 -1
  31. package/docs/arrFind.mjs.html +1 -1
  32. package/docs/arrGroupByMaxmin.mjs.html +1 -1
  33. package/docs/arrHas.mjs.html +1 -1
  34. package/docs/arrInsert.mjs.html +1 -1
  35. package/docs/arrLookupByMaxmin.mjs.html +1 -1
  36. package/docs/arrMax.mjs.html +1 -1
  37. package/docs/arrMin.mjs.html +1 -1
  38. package/docs/arrMulti.mjs.html +1 -1
  39. package/docs/arrNorm.mjs.html +1 -1
  40. package/docs/arrProduct.mjs.html +1 -1
  41. package/docs/arrPull.mjs.html +1 -1
  42. package/docs/arrPullAt.mjs.html +1 -1
  43. package/docs/arrReduce.mjs.html +1 -1
  44. package/docs/arrReverse.mjs.html +1 -1
  45. package/docs/arrSep.mjs.html +1 -1
  46. package/docs/arrSort.mjs.html +1 -1
  47. package/docs/asind.mjs.html +1 -1
  48. package/docs/atan2d.mjs.html +1 -1
  49. package/docs/atand.mjs.html +1 -1
  50. package/docs/attstr.mjs.html +1 -1
  51. package/docs/b642obj.mjs.html +1 -1
  52. package/docs/b642str.mjs.html +1 -1
  53. package/docs/b642u16arr.mjs.html +1 -1
  54. package/docs/b642u8arr.mjs.html +1 -1
  55. package/docs/binstr.mjs.html +1 -1
  56. package/docs/blob2ab.mjs.html +1 -1
  57. package/docs/blob2b64.mjs.html +1 -1
  58. package/docs/blob2str.mjs.html +1 -1
  59. package/docs/blob2u8arr.mjs.html +1 -1
  60. package/docs/blobs2b64s.mjs.html +1 -1
  61. package/docs/blobs2u8arrs.mjs.html +1 -1
  62. package/docs/bodyLog.mjs.html +1 -1
  63. package/docs/browserView.mjs.html +1 -1
  64. package/docs/browserViewFromBlob.mjs.html +1 -1
  65. package/docs/browserViewFromText.mjs.html +1 -1
  66. package/docs/browserViewFromU8arr.mjs.html +1 -1
  67. package/docs/bs2u8arr.mjs.html +1 -1
  68. package/docs/bufRead.mjs.html +1 -1
  69. package/docs/bufReadDbl.mjs.html +1 -1
  70. package/docs/bufWrite.mjs.html +1 -1
  71. package/docs/bufWriteDbl.mjs.html +1 -1
  72. package/docs/cache.mjs.html +1 -1
  73. package/docs/cacheBd.mjs.html +1 -1
  74. package/docs/cacheSt.mjs.html +1 -1
  75. package/docs/cbol.mjs.html +1 -1
  76. package/docs/cdbl.mjs.html +1 -1
  77. package/docs/ceil.mjs.html +1 -1
  78. package/docs/cfilesize.mjs.html +1 -1
  79. package/docs/cfinancial.mjs.html +1 -1
  80. package/docs/cint.mjs.html +1 -1
  81. package/docs/clearXSS.mjs.html +263 -25
  82. package/docs/clearXSSDyn.mjs.html +1 -1
  83. package/docs/color.mjs.html +1 -1
  84. package/docs/composeToTree.mjs.html +1 -1
  85. package/docs/convertToTree.mjs.html +1 -1
  86. package/docs/copyStrToClipboard.mjs.html +1 -1
  87. package/docs/cosd.mjs.html +1 -1
  88. package/docs/cotd.mjs.html +1 -1
  89. package/docs/createExcelWorkbook.mjs.html +1 -1
  90. package/docs/cscd.mjs.html +1 -1
  91. package/docs/cstr.mjs.html +1 -1
  92. package/docs/cvOrmFind.mjs.html +1 -1
  93. package/docs/day2cht.mjs.html +1 -1
  94. package/docs/debounce.mjs.html +1 -1
  95. package/docs/delay.mjs.html +1 -1
  96. package/docs/detectXSS.mjs.html +1 -1
  97. package/docs/detectXSSDyn.mjs.html +1 -1
  98. package/docs/dig.mjs.html +1 -1
  99. package/docs/digExp.mjs.html +1 -1
  100. package/docs/domAlert.mjs.html +1 -1
  101. package/docs/domAppend.mjs.html +1 -1
  102. package/docs/domCancelEvent.mjs.html +1 -1
  103. package/docs/domCompareText.mjs.html +1 -1
  104. package/docs/domConvertToPic.mjs.html +1 -1
  105. package/docs/domConvertToPicDyn.mjs.html +1 -1
  106. package/docs/domDetect.mjs.html +1 -1
  107. package/docs/domDrag.mjs.html +1 -1
  108. package/docs/domDragBarAndScroll.mjs.html +1 -1
  109. package/docs/domDragPointer.mjs.html +1 -1
  110. package/docs/domDragPreview.mjs.html +1 -1
  111. package/docs/domDropFiles.mjs.html +1 -1
  112. package/docs/domElementsFromPoint.mjs.html +1 -1
  113. package/docs/domFadeIn.mjs.html +1 -1
  114. package/docs/domFadeOut.mjs.html +1 -1
  115. package/docs/domFind.mjs.html +1 -1
  116. package/docs/domFinds.mjs.html +1 -1
  117. package/docs/domGetAttr.mjs.html +1 -1
  118. package/docs/domGetBoudRect.mjs.html +1 -1
  119. package/docs/domGetBoudRectRefSelf.mjs.html +1 -1
  120. package/docs/domGetFileAccept.mjs.html +1 -1
  121. package/docs/domGetFiles.mjs.html +1 -1
  122. package/docs/domGetParents.mjs.html +1 -1
  123. package/docs/domGetPointFromEvent.mjs.html +1 -1
  124. package/docs/domGetScrollableParent.mjs.html +1 -1
  125. package/docs/domGetWindowSize.mjs.html +1 -1
  126. package/docs/domIsClientXYIn.mjs.html +1 -1
  127. package/docs/domIsFocused.mjs.html +1 -1
  128. package/docs/domIsRendered.mjs.html +1 -1
  129. package/docs/domIsStable.mjs.html +1 -1
  130. package/docs/domIsVisible.mjs.html +1 -1
  131. package/docs/domPrepend.mjs.html +1 -1
  132. package/docs/domRemove.mjs.html +1 -1
  133. package/docs/domRenderMarkdownMind.mjs.html +1 -1
  134. package/docs/domRenderMarkdownMindDyn.mjs.html +1 -1
  135. package/docs/domRipple.mjs.html +1 -1
  136. package/docs/domScrollIntoView.mjs.html +1 -1
  137. package/docs/domScrollTo.mjs.html +1 -1
  138. package/docs/domSetAttr.mjs.html +1 -1
  139. package/docs/domShowImages.mjs.html +1 -1
  140. package/docs/domShowImagesDyn.mjs.html +1 -1
  141. package/docs/domShowInputAndGetFiles.mjs.html +1 -1
  142. package/docs/domShowInputAndGetFilesU8Arrs.mjs.html +1 -1
  143. package/docs/domShowInputDatatime.mjs.html +1 -1
  144. package/docs/domTooltip.mjs.html +1 -1
  145. package/docs/domTriggerEvent.mjs.html +1 -1
  146. package/docs/domVirtualCreate.mjs.html +1 -1
  147. package/docs/domVirtualCreateQueue.mjs.html +1 -1
  148. package/docs/downloadExcelFileFromData.mjs.html +1 -1
  149. package/docs/downloadExcelFileFromDataDyn.mjs.html +1 -1
  150. package/docs/downloadFileFromB64.mjs.html +1 -1
  151. package/docs/downloadFileFromBlob.mjs.html +1 -1
  152. package/docs/downloadFileFromText.mjs.html +1 -1
  153. package/docs/downloadFileFromU8Arr.mjs.html +1 -1
  154. package/docs/dtmapping.mjs.html +1 -1
  155. package/docs/dtpick.mjs.html +1 -1
  156. package/docs/estimateTicks.mjs.html +1 -1
  157. package/docs/evEmit.mjs.html +1 -1
  158. package/docs/evEmitDelay.mjs.html +1 -1
  159. package/docs/evem.mjs.html +1 -1
  160. package/docs/examples/ex-blob2b64.html +1 -1
  161. package/docs/examples/ex-clearXSS.html +1 -1
  162. package/docs/examples/ex-clearXSSDyn.html +1 -1
  163. package/docs/examples/ex-colorConverter.html +1 -1
  164. package/docs/examples/ex-detectXSS.html +1 -1
  165. package/docs/examples/ex-detectXSSDyn.html +1 -1
  166. package/docs/examples/ex-domCompareText.html +1 -1
  167. package/docs/examples/ex-domConvertToPic.html +1 -1
  168. package/docs/examples/ex-domDrag.html +1 -1
  169. package/docs/examples/ex-domDropFiles.html +1 -1
  170. package/docs/examples/ex-domIsVisible.html +1 -1
  171. package/docs/examples/ex-domRenderMarkdownMind.html +1 -1
  172. package/docs/examples/ex-domRenderMarkdownMindDyn.html +1 -1
  173. package/docs/examples/ex-domRipple.html +1 -1
  174. package/docs/examples/ex-domScrollIntoView.html +1 -1
  175. package/docs/examples/ex-domScrollTo.html +1 -1
  176. package/docs/examples/ex-domShowImages.html +1 -1
  177. package/docs/examples/ex-domShowImagesDyn.html +1 -1
  178. package/docs/examples/ex-domShowInputAndGetFiles.html +1 -1
  179. package/docs/examples/ex-domTooltip.html +1 -1
  180. package/docs/examples/ex-getFileHash.html +1 -1
  181. package/docs/examples/ex-getUserAgent.html +1 -1
  182. package/docs/examples/ex-getUserAgentDyn.html +1 -1
  183. package/docs/examples/ex-html2str.html +1 -1
  184. package/docs/examples/ex-obj2u8arr-u8arr2obj.html +1 -1
  185. package/docs/examples/ex-openLink.html +1 -1
  186. package/docs/examples/ex-str2aes-aes2str.html +1 -1
  187. package/docs/examples/ex-str2b64-b642str.html +1 -1
  188. package/docs/examples/ex-strFindFuzz.html +1 -1
  189. package/docs/examples/ex-timeTZ2expire-timeTZ2past.html +1 -1
  190. package/docs/examples/ex-xlsx.html +1 -1
  191. package/docs/execCli.mjs.html +1 -1
  192. package/docs/execCliCore.mjs.html +1 -1
  193. package/docs/execCliJsonRpc.mjs.html +1 -1
  194. package/docs/execCliSession.mjs.html +1 -1
  195. package/docs/execJsCode.mjs.html +1 -1
  196. package/docs/execProcess.mjs.html +1 -1
  197. package/docs/execProcessKillPid.mjs.html +1 -1
  198. package/docs/filepathToTree.mjs.html +1 -1
  199. package/docs/files2data.mjs.html +1 -1
  200. package/docs/flattenToConn.mjs.html +12 -8
  201. package/docs/flattenTree.mjs.html +9 -9
  202. package/docs/floor.mjs.html +1 -1
  203. package/docs/fsBuildReadStreamText.mjs.html +1 -1
  204. package/docs/fsBuildWriteStreamText.mjs.html +1 -1
  205. package/docs/fsCleanFolder.mjs.html +1 -1
  206. package/docs/fsCleanFolderCore.mjs.html +1 -1
  207. package/docs/fsCopyFile.mjs.html +1 -1
  208. package/docs/fsCopyFileCore.mjs.html +1 -1
  209. package/docs/fsCopyFolder.mjs.html +1 -1
  210. package/docs/fsCopyFolderCore.mjs.html +1 -1
  211. package/docs/fsCreateFile.mjs.html +1 -1
  212. package/docs/fsCreateFileCore.mjs.html +1 -1
  213. package/docs/fsCreateFolder.mjs.html +1 -1
  214. package/docs/fsCreateFolderCore.mjs.html +1 -1
  215. package/docs/fsDeleteFile.mjs.html +1 -1
  216. package/docs/fsDeleteFileCore.mjs.html +1 -1
  217. package/docs/fsDeleteFileSafe.mjs.html +1 -1
  218. package/docs/fsDeleteFileSafeCore.mjs.html +1 -1
  219. package/docs/fsDeleteFolder.mjs.html +1 -1
  220. package/docs/fsDeleteFolderCore.mjs.html +1 -1
  221. package/docs/fsDeleteFolderSafe.mjs.html +1 -1
  222. package/docs/fsDeleteFolderSafeCore.mjs.html +1 -1
  223. package/docs/fsDownloadFile.mjs.html +1 -1
  224. package/docs/fsDownloadFileCore.mjs.html +1 -1
  225. package/docs/fsEvem.mjs.html +1 -1
  226. package/docs/fsExists.mjs.html +1 -1
  227. package/docs/fsExistsCore.mjs.html +1 -1
  228. package/docs/fsGetFileBasicHash.mjs.html +1 -1
  229. package/docs/fsGetFileBasicHashCore.mjs.html +1 -1
  230. package/docs/fsGetFileHash.mjs.html +1 -1
  231. package/docs/fsGetFileHashCore.mjs.html +1 -1
  232. package/docs/fsGetFileXxHash.mjs.html +1 -1
  233. package/docs/fsGetFileXxHashCore.mjs.html +1 -1
  234. package/docs/fsGetFilesInFolder.mjs.html +1 -1
  235. package/docs/fsGetFilesInFolderCore.mjs.html +1 -1
  236. package/docs/fsGetFilesWithHashInFolder.mjs.html +1 -1
  237. package/docs/fsGetFilesWithHashInFolderCore.mjs.html +1 -1
  238. package/docs/fsGetFolderBasicHash.mjs.html +1 -1
  239. package/docs/fsGetFolderBasicHashCore.mjs.html +1 -1
  240. package/docs/fsGetFoldersInFolder.mjs.html +1 -1
  241. package/docs/fsGetFoldersInFolderCore.mjs.html +1 -1
  242. package/docs/fsIsFile.mjs.html +1 -1
  243. package/docs/fsIsFileCore.mjs.html +1 -1
  244. package/docs/fsIsFolder.mjs.html +1 -1
  245. package/docs/fsIsFolderCore.mjs.html +1 -1
  246. package/docs/fsMergeFiles.mjs.html +1 -1
  247. package/docs/fsMergeFilesCore.mjs.html +1 -1
  248. package/docs/fsReadJson.mjs.html +1 -1
  249. package/docs/fsReadText.mjs.html +1 -1
  250. package/docs/fsReadTextCore.mjs.html +1 -1
  251. package/docs/fsRenameFile.mjs.html +1 -1
  252. package/docs/fsRenameFileCore.mjs.html +1 -1
  253. package/docs/fsRenameFolder.mjs.html +1 -1
  254. package/docs/fsRenameFolderCore.mjs.html +1 -1
  255. package/docs/fsSrlog.mjs.html +1 -1
  256. package/docs/fsSyncFolder.mjs.html +1 -1
  257. package/docs/fsSyncFolderCore.mjs.html +1 -1
  258. package/docs/fsTask.mjs.html +14 -13
  259. package/docs/fsTaskCp.mjs.html +1 -1
  260. package/docs/fsTreeFolder.mjs.html +1 -1
  261. package/docs/fsTreeFolderCore.mjs.html +1 -1
  262. package/docs/fsTreeFolderWithHash.mjs.html +1 -1
  263. package/docs/fsTreeFolderWithHashCore.mjs.html +1 -1
  264. package/docs/fsWatchFile.mjs.html +1 -1
  265. package/docs/fsWatchFolder.mjs.html +1 -1
  266. package/docs/fsWriteJson.mjs.html +1 -1
  267. package/docs/fsWriteText.mjs.html +1 -1
  268. package/docs/fsWriteTextCore.mjs.html +1 -1
  269. package/docs/genGradientColor.mjs.html +1 -1
  270. package/docs/genID.mjs.html +1 -1
  271. package/docs/genIDSeq.mjs.html +1 -1
  272. package/docs/genPm.mjs.html +1 -1
  273. package/docs/getBufferSize.mjs.html +1 -1
  274. package/docs/getClearPathName.mjs.html +1 -1
  275. package/docs/getCsvStrFromData.mjs.html +1 -1
  276. package/docs/getDataFromExcelFileU8Arr.mjs.html +1 -1
  277. package/docs/getDataFromExcelFileU8ArrDyn.mjs.html +1 -1
  278. package/docs/getEnv.mjs.html +1 -1
  279. package/docs/getErrorMessage.mjs.html +1 -1
  280. package/docs/getExcelU8ArrFromData.mjs.html +1 -1
  281. package/docs/getExcelU8ArrFromWorkbook.mjs.html +1 -1
  282. package/docs/getExcelWorkbookFromData.mjs.html +1 -1
  283. package/docs/getExcelWorkbookFromWorksheet.mjs.html +1 -1
  284. package/docs/getExcelWorksheetFromData.mjs.html +1 -1
  285. package/docs/getFileAccept.mjs.html +3 -4
  286. package/docs/getFileBasicHash.mjs.html +1 -1
  287. package/docs/getFileHash.mjs.html +1 -1
  288. package/docs/getFileName.mjs.html +1 -1
  289. package/docs/getFileNameExt.mjs.html +1 -1
  290. package/docs/getFileTrueName.mjs.html +1 -1
  291. package/docs/getFileType.mjs.html +150 -5
  292. package/docs/getFileXxHash.mjs.html +1 -1
  293. package/docs/getGlobal.mjs.html +1 -1
  294. package/docs/getObjSize.mjs.html +1 -1
  295. package/docs/getPathParent.mjs.html +1 -1
  296. package/docs/getTimeBetween.mjs.html +1 -1
  297. package/docs/getTimeFromUnit.mjs.html +1 -1
  298. package/docs/getTimeHp.mjs.html +1 -1
  299. package/docs/getTimeObject.mjs.html +1 -1
  300. package/docs/getTimeRange.mjs.html +1 -1
  301. package/docs/getUserAgent.mjs.html +1 -1
  302. package/docs/getUserAgentDyn.mjs.html +1 -1
  303. package/docs/getltdtkeys.mjs.html +7 -6
  304. package/docs/global.html +1 -1
  305. package/docs/haskey.mjs.html +1 -1
  306. package/docs/html2str.mjs.html +1 -1
  307. package/docs/htmlDecode.mjs.html +1 -1
  308. package/docs/htmlEncode.mjs.html +1 -1
  309. package/docs/importResources.mjs.html +1 -1
  310. package/docs/index.html +1 -1
  311. package/docs/interp1.mjs.html +1 -1
  312. package/docs/isDate.mjs.html +1 -1
  313. package/docs/isDev.mjs.html +1 -1
  314. package/docs/isEle.mjs.html +1 -1
  315. package/docs/isEleExistByID.mjs.html +1 -1
  316. package/docs/isEmail.mjs.html +1 -1
  317. package/docs/isErr.mjs.html +1 -1
  318. package/docs/isIE.mjs.html +1 -1
  319. package/docs/isNarrow.mjs.html +1 -1
  320. package/docs/isStrHasCapital.mjs.html +1 -1
  321. package/docs/isStrHasLetter.mjs.html +1 -1
  322. package/docs/isStrHasLowerCase.mjs.html +1 -1
  323. package/docs/isStrHasNumber.mjs.html +1 -1
  324. package/docs/isStrHasSpace.mjs.html +1 -1
  325. package/docs/isStrHasSymbol.mjs.html +1 -1
  326. package/docs/isUserIdentify.mjs.html +1 -1
  327. package/docs/isUserName.mjs.html +1 -1
  328. package/docs/isUserPw.mjs.html +1 -1
  329. package/docs/isWindow.mjs.html +1 -1
  330. package/docs/isab.mjs.html +1 -1
  331. package/docs/isarr.mjs.html +1 -1
  332. package/docs/isarr0.mjs.html +1 -1
  333. package/docs/isarr1.mjs.html +1 -1
  334. package/docs/isbigint.mjs.html +1 -1
  335. package/docs/isblob.mjs.html +1 -1
  336. package/docs/isbol.mjs.html +1 -1
  337. package/docs/isday.mjs.html +1 -1
  338. package/docs/isearr.mjs.html +1 -1
  339. package/docs/iseobj.mjs.html +1 -1
  340. package/docs/iser.mjs.html +1 -1
  341. package/docs/isernot.mjs.html +1 -1
  342. package/docs/isestr.mjs.html +1 -1
  343. package/docs/isfile.mjs.html +1 -1
  344. package/docs/isfun.mjs.html +1 -1
  345. package/docs/isint.mjs.html +1 -1
  346. package/docs/ismonth.mjs.html +1 -1
  347. package/docs/isn0int.mjs.html +1 -1
  348. package/docs/isn0num.mjs.html +1 -1
  349. package/docs/isnan.mjs.html +1 -1
  350. package/docs/isnbr.mjs.html +1 -1
  351. package/docs/isnint.mjs.html +1 -1
  352. package/docs/isnnum.mjs.html +1 -1
  353. package/docs/isnull.mjs.html +1 -1
  354. package/docs/isnum.mjs.html +1 -1
  355. package/docs/isobj.mjs.html +1 -1
  356. package/docs/isobj0.mjs.html +1 -1
  357. package/docs/isp0int.mjs.html +1 -1
  358. package/docs/isp0num.mjs.html +1 -1
  359. package/docs/ispint.mjs.html +1 -1
  360. package/docs/ispm.mjs.html +1 -1
  361. package/docs/ispnum.mjs.html +1 -1
  362. package/docs/isstr.mjs.html +1 -1
  363. package/docs/isstr0.mjs.html +1 -1
  364. package/docs/istime.mjs.html +1 -1
  365. package/docs/istimeTZ.mjs.html +1 -1
  366. package/docs/istimems.mjs.html +1 -1
  367. package/docs/istimemsTZ.mjs.html +1 -1
  368. package/docs/isu16arr.mjs.html +1 -1
  369. package/docs/isu8arr.mjs.html +1 -1
  370. package/docs/isundefined.mjs.html +1 -1
  371. package/docs/j2o.mjs.html +1 -1
  372. package/docs/judge.mjs.html +1 -1
  373. package/docs/keysmat2ltdt.mjs.html +1 -1
  374. package/docs/ltdt2vrtsable.mjs.html +1 -1
  375. package/docs/ltdtDiff.mjs.html +1 -1
  376. package/docs/ltdtDiffByKey.mjs.html +1 -1
  377. package/docs/ltdtkeys2mat.mjs.html +1 -1
  378. package/docs/ltdtkeysheads2mat.mjs.html +1 -1
  379. package/docs/ltdtmapping.mjs.html +1 -1
  380. package/docs/ltdtmerge.mjs.html +1 -1
  381. package/docs/ltdtpick.mjs.html +1 -1
  382. package/docs/ltdtpull.mjs.html +1 -1
  383. package/docs/mat2ltdt.mjs.html +1 -1
  384. package/docs/matConcat.mjs.html +1 -1
  385. package/docs/matDiff.mjs.html +1 -1
  386. package/docs/matat.mjs.html +1 -1
  387. package/docs/now2str.mjs.html +1 -1
  388. package/docs/now2strp.mjs.html +1 -1
  389. package/docs/nowDay2str.mjs.html +1 -1
  390. package/docs/nowms2str.mjs.html +1 -1
  391. package/docs/nowms2strp.mjs.html +1 -1
  392. package/docs/o2j.mjs.html +1 -1
  393. package/docs/obj2b64.mjs.html +1 -1
  394. package/docs/obj2pb64.mjs.html +1 -1
  395. package/docs/obj2str.mjs.html +1 -1
  396. package/docs/obj2stru8arr.mjs.html +1 -1
  397. package/docs/obj2u8arr.mjs.html +1 -1
  398. package/docs/objSortBy.mjs.html +1 -1
  399. package/docs/objSortByKeys.mjs.html +1 -1
  400. package/docs/oo.mjs.html +1 -1
  401. package/docs/openLink.mjs.html +1 -1
  402. package/docs/pb642obj.mjs.html +1 -1
  403. package/docs/pmChain.mjs.html +1 -1
  404. package/docs/pmConvertResolve.mjs.html +1 -1
  405. package/docs/pmDebounce.mjs.html +1 -1
  406. package/docs/pmHook.mjs.html +1 -1
  407. package/docs/pmHookReject.mjs.html +1 -1
  408. package/docs/pmIni.mjs.html +1 -1
  409. package/docs/pmInvResolve.mjs.html +1 -1
  410. package/docs/pmKeyMutex.mjs.html +1 -1
  411. package/docs/pmMap.mjs.html +1 -1
  412. package/docs/pmQueue.mjs.html +1 -1
  413. package/docs/pmSeries.mjs.html +1 -1
  414. package/docs/pmThrottle.mjs.html +1 -1
  415. package/docs/pmTimeout.mjs.html +1 -1
  416. package/docs/preciseNum.mjs.html +1 -1
  417. package/docs/pseudoRandom.mjs.html +1 -1
  418. package/docs/pseudoRandomIntRange.mjs.html +1 -1
  419. package/docs/pseudoRandomIntsNdpRange.mjs.html +1 -1
  420. package/docs/pseudoRandomIntsRange.mjs.html +1 -1
  421. package/docs/pseudoRandomRange.mjs.html +1 -1
  422. package/docs/pseudoRandomsRange.mjs.html +1 -1
  423. package/docs/queue.mjs.html +1 -1
  424. package/docs/random.mjs.html +1 -1
  425. package/docs/randomIntRange.mjs.html +1 -1
  426. package/docs/randomIntsNdpRange.mjs.html +1 -1
  427. package/docs/randomIntsRange.mjs.html +1 -1
  428. package/docs/randomRange.mjs.html +1 -1
  429. package/docs/randomsRange.mjs.html +1 -1
  430. package/docs/rang.mjs.html +1 -1
  431. package/docs/rep.mjs.html +1 -1
  432. package/docs/repObj.mjs.html +1 -1
  433. package/docs/replace.mjs.html +1 -1
  434. package/docs/replaceObj.mjs.html +1 -1
  435. package/docs/replacePlus.mjs.html +1 -1
  436. package/docs/round.mjs.html +1 -1
  437. package/docs/secd.mjs.html +1 -1
  438. package/docs/sep.mjs.html +1 -1
  439. package/docs/sepInt.mjs.html +1 -1
  440. package/docs/setIntervalHp.mjs.html +1 -1
  441. package/docs/setTimeoutHp.mjs.html +1 -1
  442. package/docs/sind.mjs.html +1 -1
  443. package/docs/split.mjs.html +1 -1
  444. package/docs/str2aes.mjs.html +1 -1
  445. package/docs/str2b64.mjs.html +1 -1
  446. package/docs/str2hint.mjs.html +1 -1
  447. package/docs/str2md5.mjs.html +1 -1
  448. package/docs/str2obj.mjs.html +1 -1
  449. package/docs/str2sha.mjs.html +1 -1
  450. package/docs/str2sha512.mjs.html +1 -1
  451. package/docs/str2u8arr.mjs.html +1 -1
  452. package/docs/strCompare.mjs.html +1 -1
  453. package/docs/strCompareForVersion.mjs.html +1 -1
  454. package/docs/strDiff.mjs.html +1 -1
  455. package/docs/strDiffToHtml.mjs.html +1 -1
  456. package/docs/strFindFuzz.mjs.html +1 -1
  457. package/docs/strFindSimilar.mjs.html +1 -1
  458. package/docs/strTruncate.mjs.html +1 -1
  459. package/docs/strdelleft.mjs.html +1 -1
  460. package/docs/strdelright.mjs.html +1 -1
  461. package/docs/strleft.mjs.html +1 -1
  462. package/docs/strmid.mjs.html +1 -1
  463. package/docs/strright.mjs.html +1 -1
  464. package/docs/stru8arr2obj.mjs.html +1 -1
  465. package/docs/tand.mjs.html +1 -1
  466. package/docs/time2day.mjs.html +1 -1
  467. package/docs/time2hour.mjs.html +1 -1
  468. package/docs/time2min.mjs.html +1 -1
  469. package/docs/timeTZ2day.mjs.html +1 -1
  470. package/docs/timeTZ2expire.mjs.html +1 -1
  471. package/docs/timeTZ2hour.mjs.html +1 -1
  472. package/docs/timeTZ2min.mjs.html +1 -1
  473. package/docs/timeTZ2past.mjs.html +1 -1
  474. package/docs/timems2day.mjs.html +1 -1
  475. package/docs/timems2hour.mjs.html +1 -1
  476. package/docs/timems2min.mjs.html +1 -1
  477. package/docs/timems2time.mjs.html +1 -1
  478. package/docs/timemsTZ2day.mjs.html +1 -1
  479. package/docs/timemsTZ2expire.mjs.html +1 -1
  480. package/docs/timemsTZ2hour.mjs.html +1 -1
  481. package/docs/timemsTZ2min.mjs.html +1 -1
  482. package/docs/timemsTZ2past.mjs.html +1 -1
  483. package/docs/timemsTZ2time.mjs.html +1 -1
  484. package/docs/treeObj.mjs.html +7 -7
  485. package/docs/treeToFilepath.mjs.html +1 -1
  486. package/docs/trim.mjs.html +1 -1
  487. package/docs/u16arr2b64.mjs.html +1 -1
  488. package/docs/u16arr2u8arr.mjs.html +1 -1
  489. package/docs/u8arr2ab.mjs.html +1 -1
  490. package/docs/u8arr2b64.mjs.html +1 -1
  491. package/docs/u8arr2blob.mjs.html +1 -1
  492. package/docs/u8arr2bs.mjs.html +1 -1
  493. package/docs/u8arr2obj.mjs.html +17 -3
  494. package/docs/u8arr2str.mjs.html +1 -1
  495. package/docs/u8arr2u16arr.mjs.html +1 -1
  496. package/docs/urlParse.mjs.html +1 -1
  497. package/docs/verifyValue.mjs.html +1 -1
  498. package/docs/waitFun.mjs.html +1 -1
  499. package/docs/wsemi.html +49 -20
  500. package/package.json +1 -1
  501. package/src/clearXSS.mjs +262 -24
  502. package/src/flattenToConn.mjs +11 -7
  503. package/src/flattenTree.mjs +8 -8
  504. package/src/fsTask.mjs +13 -12
  505. package/src/getFileAccept.mjs +2 -3
  506. package/src/getFileType.mjs +149 -4
  507. package/src/getltdtkeys.mjs +6 -5
  508. package/src/treeObj.mjs +6 -6
  509. package/src/u8arr2obj.mjs +16 -2
  510. package/test/clearXSS.test.mjs +1276 -1
  511. package/test/domGetFileAccept.test.mjs +79 -11
  512. package/test/flattenToConn.test.mjs +83 -0
  513. package/test/flattenTree.test.mjs +49 -0
  514. package/test/fsTask.test.mjs +144 -0
  515. package/test/getFileAccept.test.mjs +83 -0
  516. package/test/getFileType.test.mjs +200 -29
  517. package/test/getltdtkeys.test.mjs +71 -0
  518. package/test/tools/clearXssWalkRunner.mjs +202 -0
  519. package/test/tools/getFileTypeBase.mjs +189 -0
  520. package/test/treeObj.test.mjs +119 -0
  521. package/test/u8arr2obj.test.mjs +107 -2
  522. package/toolfp/dist/wsemip.umd.js +1 -1
  523. package/toolparfor/dist/wpf.umd.js +1 -1
  524. package/toolparfor/dist/wpf_pmSeries.umd.js +1 -1
@@ -130,7 +130,7 @@ export default u16arr2u8arr
130
130
  <br class="clear">
131
131
 
132
132
  <footer>
133
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Mon Oct 19 2026 23:54:10 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
133
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Tue Oct 20 2026 18:08:33 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
134
134
  </footer>
135
135
 
136
136
  <script>prettyPrint();</script>
@@ -131,7 +131,7 @@ export default u8arr2ab
131
131
  <br class="clear">
132
132
 
133
133
  <footer>
134
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Mon Oct 19 2026 23:54:10 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
134
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Tue Oct 20 2026 18:08:33 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
135
135
  </footer>
136
136
 
137
137
  <script>prettyPrint();</script>
@@ -136,7 +136,7 @@ export default u8arr2b64
136
136
  <br class="clear">
137
137
 
138
138
  <footer>
139
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Mon Oct 19 2026 23:54:10 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
139
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Tue Oct 20 2026 18:08:33 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
140
140
  </footer>
141
141
 
142
142
  <script>prettyPrint();</script>
@@ -133,7 +133,7 @@ export default u8arr2blob
133
133
  <br class="clear">
134
134
 
135
135
  <footer>
136
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Mon Oct 19 2026 23:54:10 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
136
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Tue Oct 20 2026 18:08:33 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
137
137
  </footer>
138
138
 
139
139
  <script>prettyPrint();</script>
@@ -133,7 +133,7 @@ export default u8arr2bs
133
133
  <br class="clear">
134
134
 
135
135
  <footer>
136
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Mon Oct 19 2026 23:54:10 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
136
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Tue Oct 20 2026 18:08:33 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
137
137
  </footer>
138
138
 
139
139
  <script>prettyPrint();</script>
@@ -55,6 +55,16 @@ import u8arr2str from './u8arr2str.mjs'
55
55
  import stru8arr2obj from './stru8arr2obj.mjs'
56
56
 
57
57
 
58
+ //checkLenHead, 檢查封包標頭記載之分塊資訊區長度, 回傳不符原因字串, 符合則回傳空字串
59
+ //取自封包標頭(網路/檔案來源, 不可信), 須為非負整數且不逾封包資料區之位元組數: 小數與負數經slice被靜默截斷或自尾端算而得同一分割(非正規編碼), NaN與Infinity亦然
60
+ function checkLenHead(lenHead, size) {
61
+ if (!Number.isInteger(lenHead) || lenHead &lt; 0 || lenHead > size) {
62
+ return 'head length must be a non-negative integer not exceeding the packet'
63
+ }
64
+ return ''
65
+ }
66
+
67
+
58
68
  //checkPks, 檢查分塊資訊, 回傳不符原因字串, 全符合則回傳空字串
59
69
  //分塊資訊取自封包標頭(網路/檔案來源, 不可信), 須在迭代與配置記憶體前驗證(R-OBJ-ITER-01規則6), 否則偽造{"length":N}會使迭代依N次並逐次配置Uint8Array
60
70
  // 1. 須為真陣列(Array.isArray), 帶length鍵之物件或字串等不得依其length迭代
@@ -110,7 +120,7 @@ function sliceU8arr(u8a, inds) {
110
120
  * @param {Uint8Array} u8a 輸入Uint8Array
111
121
  * @param {Object} [opt={}] 輸入設定物件,預設{}
112
122
  * @param {Boolean} [opt.returnWithStateAndMsg=false] 輸入是否回傳含狀態與訊息物件布林值,若為true則回傳{ state, msg }物件,state為'success'或'error',msg於success時為回傳結果、於error時為錯誤訊息字串,預設false
113
- * @returns {Object|Array} 回傳物件或陣列資料,其內二進位數據依標記所記之原型別還原,Uint8Array、Uint16Array、ArrayBuffer皆原型別原數值返回;輸入非Uint8Array或封包損毀時回傳空物件,封包標頭內分塊資訊非真陣列、含非負有限整數以外之項、、總量逾封包長度、或分塊數量逾主區塊可容納之二進位標記數(每個分塊在主區塊內至少有一個25位元組之標記)亦視為損毀(msg為'invalid pks, &lt;原因>');同一二進位索引被引用多次亦視為損毀;若opt.returnWithStateAndMsg為true則回傳{ state, msg }物件
123
+ * @returns {Object|Array} 回傳物件或陣列資料,其內二進位數據依標記所記之原型別還原,Uint8Array、Uint16Array、ArrayBuffer皆原型別原數值返回;輸入非Uint8Array或封包損毀時回傳空物件,封包標頭記載之分塊資訊區長度非非負整數或逾封包資料區長度(含封包短於8位元組)、分塊資訊非真陣列、含非負有限整數以外之項、總量逾封包長度、或分塊數量逾主區塊可容納之二進位標記數(每個分塊在主區塊內至少有一個25位元組之標記)亦視為損毀(msg為'invalid pks, &lt;原因>');同一二進位索引被引用多次亦視為損毀;若opt.returnWithStateAndMsg為true則回傳{ state, msg }物件
114
124
  * @example
115
125
  *
116
126
  * let u8a = new Uint8Array([
@@ -129,7 +139,7 @@ function sliceU8arr(u8a, inds) {
129
139
  * console.log(u8arr2obj(new Uint8Array([1, 2, 3]), { returnWithStateAndMsg: true }))
130
140
  * // => {
131
141
  * // state: 'error',
132
- * // msg: 'SyntaxError: Unexpected end of JSON input'
142
+ * // msg: 'invalid pks, head length must be a non-negative integer not exceeding the packet'
133
143
  * // }
134
144
  *
135
145
  */
@@ -169,6 +179,10 @@ function u8arr2obj(u8a, opt = {}) {
169
179
 
170
180
  //lenHead
171
181
  let lenHead = bufReadDbl(bHead) //讀取分塊資訊區長度
182
+ let errHead = checkLenHead(lenHead, getBufferSize(bOthers)) //來自封包(不可信), 須先驗證才可用於切分
183
+ if (errHead !== '') {
184
+ return retError(`invalid pks, ${errHead}`)
185
+ }
172
186
  let bvPks = bOthers.slice(0, lenHead) //分塊資訊區之二進位數據(Uint8Array)
173
187
  let bbPks = bOthers.slice(lenHead, getBufferSize(bOthers)) //各分塊區之二進位數據(Uint8Array)
174
188
 
@@ -239,7 +253,7 @@ export default u8arr2obj
239
253
  <br class="clear">
240
254
 
241
255
  <footer>
242
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Mon Oct 19 2026 23:54:10 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
256
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Tue Oct 20 2026 18:08:33 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
243
257
  </footer>
244
258
 
245
259
  <script>prettyPrint();</script>
@@ -132,7 +132,7 @@ export default u8arr2str
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 Mon Oct 19 2026 23:54:10 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 Tue Oct 20 2026 18:08:33 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
136
136
  </footer>
137
137
 
138
138
  <script>prettyPrint();</script>
@@ -130,7 +130,7 @@ export default u8arr2u16arr
130
130
  <br class="clear">
131
131
 
132
132
  <footer>
133
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Mon Oct 19 2026 23:54:10 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
133
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Tue Oct 20 2026 18:08:33 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
134
134
  </footer>
135
135
 
136
136
  <script>prettyPrint();</script>
@@ -111,7 +111,7 @@ export default urlParse
111
111
  <br class="clear">
112
112
 
113
113
  <footer>
114
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Mon Oct 19 2026 23:54:10 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
114
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Tue Oct 20 2026 18:08:33 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
115
115
  </footer>
116
116
 
117
117
  <script>prettyPrint();</script>
@@ -224,7 +224,7 @@ export default verifyValue
224
224
  <br class="clear">
225
225
 
226
226
  <footer>
227
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Mon Oct 19 2026 23:54:10 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
227
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Tue Oct 20 2026 18:08:33 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
228
228
  </footer>
229
229
 
230
230
  <script>prettyPrint();</script>
@@ -236,7 +236,7 @@ export default waitFun
236
236
  <br class="clear">
237
237
 
238
238
  <footer>
239
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Mon Oct 19 2026 23:54:10 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
239
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Tue Oct 20 2026 18:08:33 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
240
240
  </footer>
241
241
 
242
242
  <script>prettyPrint();</script>
package/docs/wsemi.html CHANGED
@@ -15497,14 +15497,37 @@ await test3()
15497
15497
  <p>Depend on: <a href="https://jsxss.com/zh/index.html">https://jsxss.com/zh/index.html</a></p>
15498
15498
  <p>白名單外之標籤轉義,白名單內之標籤刪除白名單外之屬性與危險網址(style屬性保留),標籤外之文字只轉義會開始標籤之&lt;(其後為英文字母、斜線、驚嘆號、問號或位於結尾),&gt;與其餘之&lt;維持原樣,故'a &lt; b'等數學式不改寫</p>
15499
15499
  <p>輸出僅供以HTML內文呈現(如v-html、innerHTML),不可放入屬性值或註解內</p>
15500
- <p>物件與陣列遞迴處理,物件只依自有可列舉鍵走訪,length視為一般鍵(不使走訪改為類陣列,不新增鍵),成本與length值無關</p>
15500
+ <p>走訪採顯式堆疊並以來源物件之參照記憶化,不遞迴:深巢狀與循環參照不拋錯(循環保持),共用子結構只處理一次且輸出中保持共用,成本與節點數成正比,不設深度上限(僅受堆積限制)。處置如下:</p>
15501
+ <ol>
15502
+ <li>
15503
+ <p>字串清除(含包裝String,清除後為原始字串);空字串與number、boolean、null、undefined等非字串原值回傳</p>
15504
+ </li>
15505
+ <li>
15506
+ <p>物件(含類別實例)與真陣列(含子類別)走訪並保留原型(null原型物件變一般物件),length視為一般鍵(不使走訪改為類陣列,不新增鍵),成本與length值無關;物件依自有可列舉之字串鍵與Symbol鍵,陣列依索引(空洞補undefined,非索引屬性不複製,正規表示式比對結果之index與input除外,其input亦清除);Map走訪值、Set走訪元素(Map之鍵不處理,清除後相同之Set元素合併),Map與Set之自有可列舉屬性一併走訪;不可列舉屬性不複製,原型上之資料不處理</p>
15507
+ </li>
15508
+ <li>
15509
+ <p>物件之字串鍵與Map之鍵不清除,由使用端自行檢核</p>
15510
+ </li>
15511
+ <li>
15512
+ <p>arguments物件與以Symbol.toStringTag偽稱Array或Arguments之物件,視為物件並依自有可列舉鍵走訪,轉為一般物件</p>
15513
+ </li>
15514
+ <li>
15515
+ <p>Date、RegExp、型別陣列、Buffer、ArrayBuffer、包裝Number等回傳複本,其自有字串屬性不清除(物件值屬性依上述走訪);函數、Error、WeakMap、Promise、URL等不可複製者,巢狀時回傳同一參照而不清除其內字串,位於最外層時函數複製為一般物件(清除其可列舉屬性)、Error等回傳{};其餘經lodash cloneDeep複製後仍帶自訂Symbol.toStringTag之物件亦不清除其內字串</p>
15516
+ </li>
15517
+ <li>
15518
+ <p>經lodash cloneDeep複製之物件(上述第4、5點以外之非一般物件,如類別實例、null原型物件、陣列子類別、自訂標籤者)沿用其複製行為(含原型上之setter),再依複本之終態逐鍵清除;除此之外輸入不被修改</p>
15519
+ </li>
15520
+ <li>
15521
+ <p>清除對字串不保證冪等(如&lt;b='&lt;&lt;&gt;清一次與清兩次結果不同),已清除之值再送入可能再被改寫</p>
15522
+ </li>
15523
+ </ol>
15501
15524
  <p>Unit Test: <a href="https://github.com/yuda-lyu/wsemi/blob/master/test/clearXSS.test.mjs">Github</a></p></li></ul></dd>
15502
15525
 
15503
15526
 
15504
15527
 
15505
15528
  <dt class="tag-source">Source:</dt>
15506
15529
  <dd class="tag-source"><ul class="dummy"><li>
15507
- <a href="clearXSS.mjs.html">clearXSS.mjs</a>, <a href="clearXSS.mjs.html#line35">line 35</a>
15530
+ <a href="clearXSS.mjs.html">clearXSS.mjs</a>, <a href="clearXSS.mjs.html#line138">line 138</a>
15508
15531
  </li></ul></dd>
15509
15532
 
15510
15533
 
@@ -15551,7 +15574,7 @@ await test3()
15551
15574
 
15552
15575
  <h5 class="h5-examples">Example</h5>
15553
15576
 
15554
- <pre class="prettyprint"><code>console.log(clearXSS(`>&lt;script>alert('XSS')&lt;/script>`))
15577
+ <pre class="prettyprint"><code>console.log(clearXSS(`>&lt;script>alert('XSS')&lt;/script>`))
15555
15578
 
15556
15579
 
15557
15580
 
@@ -15604,7 +15627,7 @@ await test3()
15604
15627
 
15605
15628
 
15606
15629
 
15607
- <td class="description last"><p>輸入資料</p></td>
15630
+ <td class="description last"><p>輸入資料,可為字串,或含字串之物件、陣列、Map、Set</p></td>
15608
15631
  </tr>
15609
15632
 
15610
15633
 
@@ -15630,7 +15653,7 @@ await test3()
15630
15653
 
15631
15654
 
15632
15655
  <div class="param-desc">
15633
- <p>輸出資料</p>
15656
+ <p>輸出資料,字串輸入回傳清除後字串,其餘回傳清除後之新結構(原始值原樣回傳)</p>
15634
15657
  </div>
15635
15658
 
15636
15659
 
@@ -40582,7 +40605,7 @@ if (true) {
40582
40605
  <dl class="details">
40583
40606
 
40584
40607
  <dt class="tag-description">Description:</dt>
40585
- <dd class="tag-description"><ul class="dummy"><li><p>展平物件或陣列成為關聯陣列</p>
40608
+ <dd class="tag-description"><ul class="dummy"><li><p>展平物件或陣列成為關聯陣列,真陣列(含帶其他Symbol.toStringTag者)依索引,物件依自有鍵(length視為一般鍵),以Symbol.toStringTag偽稱Array之物件視為物件</p>
40586
40609
  <p>Unit Test: <a href="https://github.com/yuda-lyu/wsemi/blob/master/test/flattenToConn.test.mjs">Github</a></p></li></ul></dd>
40587
40610
 
40588
40611
 
@@ -41045,7 +41068,7 @@ if (true) {
41045
41068
  <dl class="details">
41046
41069
 
41047
41070
  <dt class="tag-description">Description:</dt>
41048
- <dd class="tag-description"><ul class="dummy"><li><p>展平樹狀物件或陣列</p>
41071
+ <dd class="tag-description"><ul class="dummy"><li><p>展平樹狀物件或陣列,以Symbol.toStringTag偽稱Array之物件視為物件</p>
41049
41072
  <p>Unit Test: <a href="https://github.com/yuda-lyu/wsemi/blob/master/test/flattenTree.test.mjs">Github</a></p></li></ul></dd>
41050
41073
 
41051
41074
 
@@ -62434,7 +62457,7 @@ console.log(wb2.sheets[0].name)
62434
62457
 
62435
62458
  <dt class="tag-source">Source:</dt>
62436
62459
  <dd class="tag-source"><ul class="dummy"><li>
62437
- <a href="getFileAccept.mjs.html">getFileAccept.mjs</a>, <a href="getFileAccept.mjs.html#line32">line 32</a>
62460
+ <a href="getFileAccept.mjs.html">getFileAccept.mjs</a>, <a href="getFileAccept.mjs.html#line31">line 31</a>
62438
62461
  </li></ul></dd>
62439
62462
 
62440
62463
 
@@ -63723,7 +63746,7 @@ console.log(wb2.sheets[0].name)
63723
63746
 
63724
63747
 
63725
63748
 
63726
- <h4 class="name" id=".getFileType"><span class="type-signature type-signature-static">(static) </span>getFileType<span class="signature">(name<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Object|Array}</span></h4>
63749
+ <h4 class="name" id=".getFileType"><span class="type-signature type-signature-static">(static) </span>getFileType<span class="signature">(name<span class="signature-attributes">opt</span>)</span><span class="type-signature"> &rarr; {Object|Array|null}</span></h4>
63727
63750
 
63728
63751
 
63729
63752
 
@@ -63733,14 +63756,17 @@ console.log(wb2.sheets[0].name)
63733
63756
  <dl class="details">
63734
63757
 
63735
63758
  <dt class="tag-description">Description:</dt>
63736
- <dd class="tag-description"><ul class="dummy"><li><p>取得檔案類型資訊</p>
63759
+ <dd class="tag-description"><ul class="dummy"><li><p>取得檔案類型資訊
63760
+ 副檔名不含點,比對不分大小寫(回傳列之name維持表內原樣,如'z'回傳name為'Z'之列)
63761
+ 若副檔名多義或無IANA登錄,該列會附msg欄位說明(如gpx、las、obj)
63762
+ heic之acp為image/heic,heif之acp為image/heif</p>
63737
63763
  <p>Unit Test: <a href="https://github.com/yuda-lyu/wsemi/blob/master/test/getFileType.test.mjs">Github</a></p></li></ul></dd>
63738
63764
 
63739
63765
 
63740
63766
 
63741
63767
  <dt class="tag-source">Source:</dt>
63742
63768
  <dd class="tag-source"><ul class="dummy"><li>
63743
- <a href="getFileType.mjs.html">getFileType.mjs</a>, <a href="getFileType.mjs.html#line1078">line 1078</a>
63769
+ <a href="getFileType.mjs.html">getFileType.mjs</a>, <a href="getFileType.mjs.html#line1222">line 1222</a>
63744
63770
  </li></ul></dd>
63745
63771
 
63746
63772
 
@@ -63787,7 +63813,7 @@ console.log(wb2.sheets[0].name)
63787
63813
 
63788
63814
  <h5 class="h5-examples">Example</h5>
63789
63815
 
63790
- <pre class="prettyprint"><code>let r
63816
+ <pre class="prettyprint"><code>let r
63791
63817
 
63792
63818
 
63793
63819
 
@@ -63854,7 +63880,7 @@ console.log(wb2.sheets[0].name)
63854
63880
  </td>
63855
63881
 
63856
63882
 
63857
- <td class="description last"><p>輸入過濾副檔名字串,預設''</p></td>
63883
+ <td class="description last"><p>輸入過濾副檔名字串(不含點,不分大小寫),預設''</p></td>
63858
63884
  </tr>
63859
63885
 
63860
63886
 
@@ -63880,7 +63906,7 @@ console.log(wb2.sheets[0].name)
63880
63906
 
63881
63907
 
63882
63908
  <div class="param-desc">
63883
- <p>回傳檔案關聯性資訊物件或陣列</p>
63909
+ <p>回傳檔案關聯性資訊物件,未收錄之副檔名回傳null,未給予有效字串則回傳全部資訊陣列</p>
63884
63910
  </div>
63885
63911
 
63886
63912
 
@@ -63895,6 +63921,9 @@ console.log(wb2.sheets[0].name)
63895
63921
  |
63896
63922
 
63897
63923
  <span class="param-type">Array</span>
63924
+ |
63925
+
63926
+ <span class="param-type">null</span>
63898
63927
 
63899
63928
 
63900
63929
 
@@ -66009,7 +66038,7 @@ console.log(wb2.sheets[0].name)
66009
66038
  <dl class="details">
66010
66039
 
66011
66040
  <dt class="tag-description">Description:</dt>
66012
- <dd class="tag-description"><ul class="dummy"><li><p>由ltdt提取不重複keys</p>
66041
+ <dd class="tag-description"><ul class="dummy"><li><p>由ltdt提取不重複keys,各列物件只依自有可列舉鍵(length視為一般鍵)</p>
66013
66042
  <p>Unit Test: <a href="https://github.com/yuda-lyu/wsemi/blob/master/test/getltdtkeys.test.mjs">Github</a></p></li></ul></dd>
66014
66043
 
66015
66044
 
@@ -107202,7 +107231,7 @@ console.log(strTruncate('abcdefghij', -1))
107202
107231
  <dl class="details">
107203
107232
 
107204
107233
  <dt class="tag-description">Description:</dt>
107205
- <dd class="tag-description"><ul class="dummy"><li><p>遍歷物件並回傳複製物件,類似JSON.stringify,但不會序列化成為字串</p>
107234
+ <dd class="tag-description"><ul class="dummy"><li><p>遍歷物件並回傳複製物件,類似JSON.stringify,但不會序列化成為字串。真陣列(含帶其他Symbol.toStringTag者)依索引遍歷,物件依自有鍵遍歷(length視為一般鍵),以Symbol.toStringTag偽稱Array之物件視為物件</p>
107206
107235
  <p>Unit Test: <a href="https://github.com/yuda-lyu/wsemi/blob/master/test/treeObj.test.mjs">Github</a></p></li></ul></dd>
107207
107236
 
107208
107237
 
@@ -109916,7 +109945,7 @@ console.log(u8arr2bs('abc', { returnWithStateAndMsg: true }))
109916
109945
 
109917
109946
  <dt class="tag-source">Source:</dt>
109918
109947
  <dd class="tag-source"><ul class="dummy"><li>
109919
- <a href="u8arr2obj.mjs.html">u8arr2obj.mjs</a>, <a href="u8arr2obj.mjs.html#line89">line 89</a>
109948
+ <a href="u8arr2obj.mjs.html">u8arr2obj.mjs</a>, <a href="u8arr2obj.mjs.html#line99">line 99</a>
109920
109949
  </li></ul></dd>
109921
109950
 
109922
109951
 
@@ -109963,7 +109992,7 @@ console.log(u8arr2bs('abc', { returnWithStateAndMsg: true }))
109963
109992
 
109964
109993
  <h5 class="h5-examples">Example</h5>
109965
109994
 
109966
- <pre class="prettyprint"><code>let u8a = new Uint8Array([
109967
109995
  64, 24, 0, 0, 0, 0, 0, 0, 91, 54, 54, 44,
109968
109996
  51, 93, 123, 34, 97, 34, 58, 91, 49, 50, 51, 44,
109969
109997
  52, 53, 46, 54, 55, 44, 34, 116, 101, 115, 116, 228,
109970
109998
  184, 173, 230, 150, 135, 34, 93, 44, 34, 98, 34, 58,
109971
109999
  123, 34, 99, 34, 58, 34, 91, 66, 108, 97, 122, 101,
109972
110000
  70, 111, 114, 85, 105, 110, 116, 56, 65, 114, 114, 97,
109973
110001
  121, 93, 58, 58, 48, 34, 125, 125, 66, 97, 115
110002
+ <pre class="prettyprint"><code>let u8a = new Uint8Array([
109974
110003
  64, 24, 0, 0, 0, 0, 0, 0, 91, 54, 54, 44,
109975
110004
  51, 93, 123, 34, 97, 34, 58, 91, 49, 50, 51, 44,
109976
110005
  52, 53, 46, 54, 55, 44, 34, 116, 101, 115, 116, 228,
109977
110006
  184, 173, 230, 150, 135, 34, 93, 44, 34, 98, 34, 58,
109978
110007
  123, 34, 99, 34, 58, 34, 91, 66, 108, 97, 122, 101,
109979
110008
  70, 111, 114, 85, 105, 110, 116, 56, 65, 114, 114, 97,
109980
110009
  121, 93, 58, 58, 48, 34, 125, 125, 66, 97, 115
109981
110010
 
109982
110011
 
109983
110012
 
@@ -110162,7 +110191,7 @@ console.log(u8arr2bs('abc', { returnWithStateAndMsg: true }))
110162
110191
 
110163
110192
 
110164
110193
  <div class="param-desc">
110165
- <p>回傳物件或陣列資料,其內二進位數據依標記所記之原型別還原,Uint8Array、Uint16Array、ArrayBuffer皆原型別原數值返回;輸入非Uint8Array或封包損毀時回傳空物件,封包標頭內分塊資訊非真陣列、含非負有限整數以外之項、、總量逾封包長度、或分塊數量逾主區塊可容納之二進位標記數(每個分塊在主區塊內至少有一個25位元組之標記)亦視為損毀(msg為'invalid pks, &lt;原因&gt;');同一二進位索引被引用多次亦視為損毀;若opt.returnWithStateAndMsg為true則回傳{ state, msg }物件</p>
110194
+ <p>回傳物件或陣列資料,其內二進位數據依標記所記之原型別還原,Uint8Array、Uint16Array、ArrayBuffer皆原型別原數值返回;輸入非Uint8Array或封包損毀時回傳空物件,封包標頭記載之分塊資訊區長度非非負整數或逾封包資料區長度(含封包短於8位元組)、分塊資訊非真陣列、含非負有限整數以外之項、總量逾封包長度、或分塊數量逾主區塊可容納之二進位標記數(每個分塊在主區塊內至少有一個25位元組之標記)亦視為損毀(msg為'invalid pks, &lt;原因&gt;');同一二進位索引被引用多次亦視為損毀;若opt.returnWithStateAndMsg為true則回傳{ state, msg }物件</p>
110166
110195
  </div>
110167
110196
 
110168
110197
 
@@ -111455,7 +111484,7 @@ console.log(u8arr2u16arr('abc', { returnWithStateAndMsg: true }))
111455
111484
  <br class="clear">
111456
111485
 
111457
111486
  <footer>
111458
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Mon Oct 19 2026 23:54:10 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
111487
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.5</a> on Tue Oct 20 2026 18:08:33 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
111459
111488
  </footer>
111460
111489
 
111461
111490
  <script>prettyPrint();</script>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wsemi",
3
- "version": "1.9.21",
3
+ "version": "1.9.23",
4
4
  "main": "dist/wsemi.umd.js",
5
5
  "dependencies": {
6
6
  "@zumer/snapdom": "^3.3.0",