wsemi 1.7.20 → 1.7.21

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 (746) hide show
  1. package/README.md +1 -1
  2. package/dist/wsemi.umd.js +3 -3
  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/arrReduce.mjs.html +1 -1
  31. package/docs/arrSep.mjs.html +1 -1
  32. package/docs/arrSort.mjs.html +1 -1
  33. package/docs/asind.mjs.html +1 -1
  34. package/docs/atan2d.mjs.html +1 -1
  35. package/docs/atand.mjs.html +1 -1
  36. package/docs/attstr.mjs.html +66 -4
  37. package/docs/b642obj.mjs.html +1 -1
  38. package/docs/b642str.mjs.html +1 -1
  39. package/docs/b642u16arr.mjs.html +1 -1
  40. package/docs/b642u8arr.mjs.html +1 -1
  41. package/docs/binstr.mjs.html +1 -1
  42. package/docs/blob2ab.mjs.html +1 -1
  43. package/docs/blob2b64.mjs.html +1 -1
  44. package/docs/blob2str.mjs.html +1 -1
  45. package/docs/blob2u8arr.mjs.html +1 -1
  46. package/docs/blobs2b64s.mjs.html +1 -1
  47. package/docs/blobs2u8arrs.mjs.html +1 -1
  48. package/docs/bodyLog.mjs.html +1 -1
  49. package/docs/browserView.mjs.html +1 -1
  50. package/docs/browserViewFromBlob.mjs.html +1 -1
  51. package/docs/browserViewFromText.mjs.html +1 -1
  52. package/docs/browserViewFromU8arr.mjs.html +1 -1
  53. package/docs/bs2u8arr.mjs.html +1 -1
  54. package/docs/bufRead.mjs.html +1 -1
  55. package/docs/bufReadDbl.mjs.html +1 -1
  56. package/docs/bufWrite.mjs.html +1 -1
  57. package/docs/bufWriteDbl.mjs.html +1 -1
  58. package/docs/cache.mjs.html +1 -1
  59. package/docs/cbol.mjs.html +1 -1
  60. package/docs/cdbl.mjs.html +1 -1
  61. package/docs/cfilesize.mjs.html +1 -1
  62. package/docs/cfinancial.mjs.html +1 -1
  63. package/docs/cint.mjs.html +1 -1
  64. package/docs/clearXSS.mjs.html +1 -1
  65. package/docs/color.mjs.html +1 -1
  66. package/docs/composeToTree.mjs.html +1 -1
  67. package/docs/convertToTree.mjs.html +1 -1
  68. package/docs/copyStrToClipboard.mjs.html +1 -1
  69. package/docs/cosd.mjs.html +1 -1
  70. package/docs/cotd.mjs.html +1 -1
  71. package/docs/createExcelWorkbook.mjs.html +1 -1
  72. package/docs/cscd.mjs.html +1 -1
  73. package/docs/cstr.mjs.html +1 -1
  74. package/docs/day2cht.mjs.html +1 -1
  75. package/docs/debounce.mjs.html +1 -1
  76. package/docs/delay.mjs.html +1 -1
  77. package/docs/dig.mjs.html +1 -1
  78. package/docs/digExp.mjs.html +1 -1
  79. package/docs/domAlert.mjs.html +1 -1
  80. package/docs/domAppend.mjs.html +1 -1
  81. package/docs/domCancelEvent.mjs.html +1 -1
  82. package/docs/domCompareText.mjs.html +1 -1
  83. package/docs/domCompareTextDyn.mjs.html +1 -1
  84. package/docs/domConvertToPic.mjs.html +1 -1
  85. package/docs/domConvertToPicDyn.mjs.html +1 -1
  86. package/docs/domDetect.mjs.html +1 -1
  87. package/docs/domDrag.mjs.html +1 -1
  88. package/docs/domDragBarAndScroll.mjs.html +1 -1
  89. package/docs/domDragPreview.mjs.html +1 -1
  90. package/docs/domDropFiles.mjs.html +1 -1
  91. package/docs/domElementsFromPoint.mjs.html +1 -1
  92. package/docs/domFadeIn.mjs.html +1 -1
  93. package/docs/domFadeOut.mjs.html +1 -1
  94. package/docs/domFind.mjs.html +1 -1
  95. package/docs/domFinds.mjs.html +1 -1
  96. package/docs/domGetAttr.mjs.html +1 -1
  97. package/docs/domGetBoudRect.mjs.html +1 -1
  98. package/docs/domGetBoudRectRefSelf.mjs.html +1 -1
  99. package/docs/domGetFileAccept.mjs.html +1 -1
  100. package/docs/domGetFiles.mjs.html +1 -1
  101. package/docs/domGetParents.mjs.html +1 -1
  102. package/docs/domGetPointFromEvent.mjs.html +1 -1
  103. package/docs/domGetScrollableParent.mjs.html +1 -1
  104. package/docs/domGetWindowSize.mjs.html +1 -1
  105. package/docs/domIsClientXYIn.mjs.html +1 -1
  106. package/docs/domIsFocused.mjs.html +1 -1
  107. package/docs/domIsVisible.mjs.html +1 -1
  108. package/docs/domPrepend.mjs.html +1 -1
  109. package/docs/domRemove.mjs.html +1 -1
  110. package/docs/domRenderMarkdownMind.mjs.html +1 -1
  111. package/docs/domRenderMarkdownMindDyn.mjs.html +1 -1
  112. package/docs/domRipple.mjs.html +1 -1
  113. package/docs/domScrollIntoView.mjs.html +1 -1
  114. package/docs/domScrollTo.mjs.html +1 -1
  115. package/docs/domShowImages.mjs.html +1 -1
  116. package/docs/domShowImagesDyn.mjs.html +1 -1
  117. package/docs/domShowInputAndGetFiles.mjs.html +1 -1
  118. package/docs/domShowInputAndGetFilesU8Arrs.mjs.html +1 -1
  119. package/docs/domTooltip.mjs.html +1 -1
  120. package/docs/domTriggerEvent.mjs.html +1 -1
  121. package/docs/domVirtualCreate.mjs.html +1 -1
  122. package/docs/domVirtualCreateQueue.mjs.html +1 -1
  123. package/docs/downloadExcelFileFromData.mjs.html +1 -1
  124. package/docs/downloadExcelFileFromDataDyn.mjs.html +1 -1
  125. package/docs/downloadFileFromB64.mjs.html +1 -1
  126. package/docs/downloadFileFromBlob.mjs.html +1 -1
  127. package/docs/downloadFileFromText.mjs.html +1 -1
  128. package/docs/downloadFileFromU8Arr.mjs.html +1 -1
  129. package/docs/dtmapping.mjs.html +1 -1
  130. package/docs/dtpick.mjs.html +1 -1
  131. package/docs/evem.mjs.html +1 -1
  132. package/docs/examples/ex-blob2b64.html +1 -1
  133. package/docs/examples/ex-clearXSS.html +1 -1
  134. package/docs/examples/ex-colorConverter.html +1 -1
  135. package/docs/examples/ex-cryptojs.html +1 -1
  136. package/docs/examples/ex-dayjs.html +1 -1
  137. package/docs/examples/ex-domCompareText.html +1 -1
  138. package/docs/examples/ex-domCompareTextDyn.html +1 -1
  139. package/docs/examples/ex-domConvertToPic.html +1 -1
  140. package/docs/examples/ex-domConvertToPicDyn.html +1 -1
  141. package/docs/examples/ex-domDrag.html +1 -1
  142. package/docs/examples/ex-domDropFiles.html +1 -1
  143. package/docs/examples/ex-domIsVisible.html +1 -1
  144. package/docs/examples/ex-domRenderMarkdownMind.html +1 -1
  145. package/docs/examples/ex-domRenderMarkdownMindDyn.html +1 -1
  146. package/docs/examples/ex-domRipple.html +1 -1
  147. package/docs/examples/ex-domScrollIntoView.html +1 -1
  148. package/docs/examples/ex-domScrollTo.html +1 -1
  149. package/docs/examples/ex-domShowImages.html +1 -1
  150. package/docs/examples/ex-domShowImagesDyn.html +1 -1
  151. package/docs/examples/ex-domShowInputAndGetFiles.html +1 -1
  152. package/docs/examples/ex-domTooltip.html +1 -1
  153. package/docs/examples/ex-getUserAgent.html +1 -1
  154. package/docs/examples/ex-getUserAgentDyn.html +1 -1
  155. package/docs/examples/ex-html2pic.html +1 -1
  156. package/docs/examples/ex-html2picDyn.html +1 -1
  157. package/docs/examples/ex-html2str.html +1 -1
  158. package/docs/examples/ex-html2strDyn.html +1 -1
  159. package/docs/examples/ex-lodash.html +1 -1
  160. package/docs/examples/ex-obj2u8arr-u8arr2obj.html +1 -1
  161. package/docs/examples/ex-ocr.html +1 -1
  162. package/docs/examples/ex-ocrDyn.html +1 -1
  163. package/docs/examples/ex-openLink.html +1 -1
  164. package/docs/examples/ex-strFindFuzz.html +1 -1
  165. package/docs/examples/ex-strFindFuzzDyn.html +1 -1
  166. package/docs/examples/ex-timeTZ2expire-timeTZ2past.html +1 -1
  167. package/docs/examples/ex-xlsx.html +1 -1
  168. package/docs/examples/ex-xlsxDyn.html +1 -1
  169. package/docs/execProcess.mjs.html +1 -1
  170. package/docs/execScript.mjs.html +1 -1
  171. package/docs/f2c.mjs.html +1 -1
  172. package/docs/filepathToTree.mjs.html +1 -1
  173. package/docs/files2data.mjs.html +1 -1
  174. package/docs/flattenToConn.mjs.html +1 -1
  175. package/docs/flattenTree.mjs.html +1 -1
  176. package/docs/fsCleanFolder.mjs.html +1 -1
  177. package/docs/fsCopyFolder.mjs.html +1 -1
  178. package/docs/fsCreateFile.mjs.html +1 -1
  179. package/docs/fsCreateFolder.mjs.html +1 -1
  180. package/docs/fsDeleteFile.mjs.html +1 -1
  181. package/docs/fsDeleteFolder.mjs.html +1 -1
  182. package/docs/fsEvem.mjs.html +1 -1
  183. package/docs/fsGetFilesInFolder.mjs.html +1 -1
  184. package/docs/fsGetFoldersInFolder.mjs.html +1 -1
  185. package/docs/fsIsFile.mjs.html +1 -1
  186. package/docs/fsIsFolder.mjs.html +1 -1
  187. package/docs/fsReadText.mjs.html +1 -1
  188. package/docs/fsRenameFile.mjs.html +1 -1
  189. package/docs/fsRenameFolder.mjs.html +1 -1
  190. package/docs/fsTreeFolder.mjs.html +1 -1
  191. package/docs/fsWatchFile.mjs.html +1 -1
  192. package/docs/fsWriteText.mjs.html +1 -1
  193. package/docs/genGradientColor.mjs.html +1 -1
  194. package/docs/genID.mjs.html +1 -1
  195. package/docs/genPm.mjs.html +1 -1
  196. package/docs/getBufferSize.mjs.html +1 -1
  197. package/docs/getClearPathName.mjs.html +1 -1
  198. package/docs/getCsvStrFromData.mjs.html +1 -1
  199. package/docs/getDataFromExcelFileU8Arr.mjs.html +1 -1
  200. package/docs/getDataFromExcelFileU8ArrDyn.mjs.html +1 -1
  201. package/docs/getDirName.mjs.html +1 -1
  202. package/docs/getEnv.mjs.html +1 -1
  203. package/docs/getExcelU8ArrFromData.mjs.html +1 -1
  204. package/docs/getExcelU8ArrFromWorkbook.mjs.html +1 -1
  205. package/docs/getExcelWorkbookFromData.mjs.html +1 -1
  206. package/docs/getExcelWorkbookFromWorksheet.mjs.html +1 -1
  207. package/docs/getExcelWorksheetFromData.mjs.html +1 -1
  208. package/docs/getFileAccept.mjs.html +1 -1
  209. package/docs/getFileName.mjs.html +1 -1
  210. package/docs/getFileTrueName.mjs.html +1 -1
  211. package/docs/getGlobal.mjs.html +1 -1
  212. package/docs/getObjSize.mjs.html +1 -1
  213. package/docs/getTimeBetween.mjs.html +1 -1
  214. package/docs/getTimeFromUnit.mjs.html +1 -1
  215. package/docs/getTimeObject.mjs.html +1 -1
  216. package/docs/getTimeRange.mjs.html +1 -1
  217. package/docs/getUserAgent.mjs.html +1 -1
  218. package/docs/getUserAgentDyn.mjs.html +1 -1
  219. package/docs/getltdtkeys.mjs.html +1 -1
  220. package/docs/haskey.mjs.html +1 -1
  221. package/docs/html2pic.mjs.html +1 -1
  222. package/docs/html2picDyn.mjs.html +1 -1
  223. package/docs/html2str.mjs.html +1 -1
  224. package/docs/html2strDyn.mjs.html +1 -1
  225. package/docs/htmlDecode.mjs.html +1 -1
  226. package/docs/htmlEncode.mjs.html +1 -1
  227. package/docs/importResources.mjs.html +1 -1
  228. package/docs/index.html +1 -1
  229. package/docs/interp1.mjs.html +1 -1
  230. package/docs/isDev.mjs.html +1 -1
  231. package/docs/isEle.mjs.html +1 -1
  232. package/docs/isEleExistByID.mjs.html +1 -1
  233. package/docs/isEmail.mjs.html +1 -1
  234. package/docs/isIE.mjs.html +1 -1
  235. package/docs/isNarrow.mjs.html +1 -1
  236. package/docs/isStrHasCapital.mjs.html +1 -1
  237. package/docs/isStrHasLowerCase.mjs.html +1 -1
  238. package/docs/isStrHasNumber.mjs.html +1 -1
  239. package/docs/isUserIdentify.mjs.html +1 -1
  240. package/docs/isUserName.mjs.html +1 -1
  241. package/docs/isUserPW.mjs.html +1 -1
  242. package/docs/isWindow.mjs.html +1 -1
  243. package/docs/isab.mjs.html +1 -1
  244. package/docs/isarr.mjs.html +1 -1
  245. package/docs/isarr0.mjs.html +1 -1
  246. package/docs/isblob.mjs.html +1 -1
  247. package/docs/isbol.mjs.html +1 -1
  248. package/docs/isday.mjs.html +1 -1
  249. package/docs/isearr.mjs.html +1 -1
  250. package/docs/iseobj.mjs.html +1 -1
  251. package/docs/iser.mjs.html +1 -1
  252. package/docs/isernot.mjs.html +1 -1
  253. package/docs/isestr.mjs.html +1 -1
  254. package/docs/isfun.mjs.html +1 -1
  255. package/docs/isint.mjs.html +1 -1
  256. package/docs/ismonth.mjs.html +1 -1
  257. package/docs/isn0int.mjs.html +1 -1
  258. package/docs/isn0num.mjs.html +1 -1
  259. package/docs/isnbr.mjs.html +1 -1
  260. package/docs/isnint.mjs.html +1 -1
  261. package/docs/isnnum.mjs.html +1 -1
  262. package/docs/isnull.mjs.html +1 -1
  263. package/docs/isnum.mjs.html +1 -1
  264. package/docs/isobj.mjs.html +1 -1
  265. package/docs/isobj0.mjs.html +1 -1
  266. package/docs/isp0int.mjs.html +1 -1
  267. package/docs/isp0num.mjs.html +1 -1
  268. package/docs/ispint.mjs.html +1 -1
  269. package/docs/ispm.mjs.html +1 -1
  270. package/docs/ispnum.mjs.html +1 -1
  271. package/docs/isstr.mjs.html +1 -1
  272. package/docs/isstr0.mjs.html +1 -1
  273. package/docs/istime.mjs.html +1 -1
  274. package/docs/istimeTZ.mjs.html +1 -1
  275. package/docs/istimems.mjs.html +1 -1
  276. package/docs/istimemsTZ.mjs.html +1 -1
  277. package/docs/isu16arr.mjs.html +1 -1
  278. package/docs/isu8arr.mjs.html +1 -1
  279. package/docs/isundefined.mjs.html +1 -1
  280. package/docs/j2o.mjs.html +1 -1
  281. package/docs/keysmat2ltdt.mjs.html +1 -1
  282. package/docs/log.mjs.html +1 -1
  283. package/docs/ltdt2vrtsable.mjs.html +1 -1
  284. package/docs/ltdtDiff.mjs.html +1 -1
  285. package/docs/ltdtDiffByKey.mjs.html +1 -1
  286. package/docs/ltdtkeys2mat.mjs.html +1 -1
  287. package/docs/ltdtkeysheads2mat.mjs.html +1 -1
  288. package/docs/ltdtmapping.mjs.html +1 -1
  289. package/docs/ltdtmerge.mjs.html +1 -1
  290. package/docs/ltdtpick.mjs.html +1 -1
  291. package/docs/ltdtpull.mjs.html +1 -1
  292. package/docs/mat2ltdt.mjs.html +1 -1
  293. package/docs/matConcat.mjs.html +1 -1
  294. package/docs/matDiff.mjs.html +1 -1
  295. package/docs/matat.mjs.html +1 -1
  296. package/docs/now2str.mjs.html +1 -1
  297. package/docs/now2strp.mjs.html +1 -1
  298. package/docs/nowDay2str.mjs.html +1 -1
  299. package/docs/nowms2str.mjs.html +1 -1
  300. package/docs/nowms2strp.mjs.html +1 -1
  301. package/docs/o2j.mjs.html +1 -1
  302. package/docs/obj2b64.mjs.html +1 -1
  303. package/docs/obj2pb64.mjs.html +1 -1
  304. package/docs/obj2str.mjs.html +1 -1
  305. package/docs/obj2stru8arr.mjs.html +1 -1
  306. package/docs/obj2u8arr.mjs.html +1 -1
  307. package/docs/objSortBy.mjs.html +1 -1
  308. package/docs/objSortByKeys.mjs.html +1 -1
  309. package/docs/ocr.mjs.html +1 -1
  310. package/docs/ocrDyn.mjs.html +1 -1
  311. package/docs/oo.mjs.html +1 -1
  312. package/docs/openLink.mjs.html +1 -1
  313. package/docs/pb642obj.mjs.html +1 -1
  314. package/docs/pmChain.mjs.html +1 -1
  315. package/docs/pmConvertResolve.mjs.html +1 -1
  316. package/docs/pmHook.mjs.html +1 -1
  317. package/docs/pmHookReject.mjs.html +1 -1
  318. package/docs/pmIni.mjs.html +1 -1
  319. package/docs/pmInvResolve.mjs.html +1 -1
  320. package/docs/pmMap.mjs.html +1 -1
  321. package/docs/pmQueue.mjs.html +1 -1
  322. package/docs/pmSeries.mjs.html +1 -1
  323. package/docs/pmThrottle.mjs.html +1 -1
  324. package/docs/pseudoRandom.mjs.html +1 -1
  325. package/docs/pseudoRandomIntRange.mjs.html +1 -1
  326. package/docs/pseudoRandomRange.mjs.html +1 -1
  327. package/docs/queue.mjs.html +1 -1
  328. package/docs/rang.mjs.html +1 -1
  329. package/docs/rep.mjs.html +1 -1
  330. package/docs/repObj.mjs.html +1 -1
  331. package/docs/replace.mjs.html +1 -1
  332. package/docs/replaceObj.mjs.html +1 -1
  333. package/docs/replacePlus.mjs.html +1 -1
  334. package/docs/round.mjs.html +1 -1
  335. package/docs/secd.mjs.html +1 -1
  336. package/docs/sep.mjs.html +1 -1
  337. package/docs/sepInt.mjs.html +1 -1
  338. package/docs/sind.mjs.html +1 -1
  339. package/docs/split.mjs.html +1 -1
  340. package/docs/str2aes.mjs.html +1 -1
  341. package/docs/str2b64.mjs.html +1 -1
  342. package/docs/str2hint.mjs.html +1 -1
  343. package/docs/str2md5.mjs.html +1 -1
  344. package/docs/str2obj.mjs.html +1 -1
  345. package/docs/str2sha512.mjs.html +1 -1
  346. package/docs/str2u8arr.mjs.html +1 -1
  347. package/docs/strCompare.mjs.html +1 -1
  348. package/docs/strDiff.mjs.html +1 -1
  349. package/docs/strFindFuzz.mjs.html +1 -1
  350. package/docs/strFindFuzzDyn.mjs.html +1 -1
  351. package/docs/strFindSimilar.mjs.html +1 -1
  352. package/docs/strdelleft.mjs.html +1 -1
  353. package/docs/strdelright.mjs.html +1 -1
  354. package/docs/strleft.mjs.html +1 -1
  355. package/docs/strmid.mjs.html +1 -1
  356. package/docs/strright.mjs.html +1 -1
  357. package/docs/stru8arr2obj.mjs.html +1 -1
  358. package/docs/tand.mjs.html +1 -1
  359. package/docs/time2day.mjs.html +1 -1
  360. package/docs/time2hour.mjs.html +1 -1
  361. package/docs/time2min.mjs.html +1 -1
  362. package/docs/timeTZ2day.mjs.html +1 -1
  363. package/docs/timeTZ2expire.mjs.html +1 -1
  364. package/docs/timeTZ2hour.mjs.html +1 -1
  365. package/docs/timeTZ2min.mjs.html +1 -1
  366. package/docs/timeTZ2past.mjs.html +1 -1
  367. package/docs/timems2day.mjs.html +1 -1
  368. package/docs/timems2hour.mjs.html +1 -1
  369. package/docs/timems2min.mjs.html +1 -1
  370. package/docs/timems2time.mjs.html +1 -1
  371. package/docs/timemsTZ2day.mjs.html +1 -1
  372. package/docs/timemsTZ2expire.mjs.html +1 -1
  373. package/docs/timemsTZ2hour.mjs.html +1 -1
  374. package/docs/timemsTZ2min.mjs.html +1 -1
  375. package/docs/timemsTZ2past.mjs.html +1 -1
  376. package/docs/timemsTZ2time.mjs.html +1 -1
  377. package/docs/treeObj.mjs.html +1 -1
  378. package/docs/treeToFilepath.mjs.html +1 -1
  379. package/docs/trim.mjs.html +1 -1
  380. package/docs/u16arr2b64.mjs.html +1 -1
  381. package/docs/u16arr2u8arr.mjs.html +1 -1
  382. package/docs/u8arr2ab.mjs.html +1 -1
  383. package/docs/u8arr2b64.mjs.html +1 -1
  384. package/docs/u8arr2blob.mjs.html +1 -1
  385. package/docs/u8arr2bs.mjs.html +1 -1
  386. package/docs/u8arr2obj.mjs.html +1 -1
  387. package/docs/u8arr2str.mjs.html +1 -1
  388. package/docs/u8arr2u16arr.mjs.html +1 -1
  389. package/docs/urlParse.mjs.html +1 -1
  390. package/docs/verifyValue.mjs.html +1 -1
  391. package/docs/waitFun.mjs.html +1 -1
  392. package/docs/wsemi.html +39 -6
  393. package/g.mjs +35 -2
  394. package/package.json +1 -1
  395. package/src/attstr.mjs +65 -3
  396. package/test/attstr.test.mjs +36 -0
  397. package/test2/attstr.test.mjs +0 -193
  398. /package/{test2 → test}/ab2blob.test.mjs +0 -0
  399. /package/{test2 → test}/ab2u8arr.test.mjs +0 -0
  400. /package/{test2 → test}/addExcelWorksheetFromData.test.mjs +0 -0
  401. /package/{test2 → test}/addMonth.test.mjs +0 -0
  402. /package/{test2 → test}/aes2str.test.mjs +0 -0
  403. /package/{test2 → test}/alive.test.mjs +0 -0
  404. /package/{test2 → test}/arr2dt.test.mjs +0 -0
  405. /package/{test2 → test}/arrAccum.test.mjs +0 -0
  406. /package/{test2 → test}/arrAdd.test.mjs +0 -0
  407. /package/{test2 → test}/arrAt.test.mjs +0 -0
  408. /package/{test2 → test}/arrDiff.test.mjs +0 -0
  409. /package/{test2 → test}/arrFilterByKeywords.test.mjs +0 -0
  410. /package/{test2 → test}/arrFilterByNum.test.mjs +0 -0
  411. /package/{test2 → test}/arrFilterByPnum.test.mjs +0 -0
  412. /package/{test2 → test}/arrFilterByPnumAndToLog.test.mjs +0 -0
  413. /package/{test2 → test}/arrFind.test.mjs +0 -0
  414. /package/{test2 → test}/arrGroupByMaxmin.test.mjs +0 -0
  415. /package/{test2 → test}/arrHas.test.mjs +0 -0
  416. /package/{test2 → test}/arrInsert.test.mjs +0 -0
  417. /package/{test2 → test}/arrLookupByMaxmin.test.mjs +0 -0
  418. /package/{test2 → test}/arrMax.test.mjs +0 -0
  419. /package/{test2 → test}/arrMin.test.mjs +0 -0
  420. /package/{test2 → test}/arrMulti.test.mjs +0 -0
  421. /package/{test2 → test}/arrNorm.test.mjs +0 -0
  422. /package/{test2 → test}/arrProduct.test.mjs +0 -0
  423. /package/{test2 → test}/arrReduce.test.mjs +0 -0
  424. /package/{test2 → test}/arrSep.test.mjs +0 -0
  425. /package/{test2 → test}/arrSort.test.mjs +0 -0
  426. /package/{test2 → test}/asind.test.mjs +0 -0
  427. /package/{test2 → test}/atan2d.test.mjs +0 -0
  428. /package/{test2 → test}/atand.test.mjs +0 -0
  429. /package/{test2 → test}/b642obj.test.mjs +0 -0
  430. /package/{test2 → test}/b642str.test.mjs +0 -0
  431. /package/{test2 → test}/b642u16arr.test.mjs +0 -0
  432. /package/{test2 → test}/b642u8arr.test.mjs +0 -0
  433. /package/{test2 → test}/binstr.test.mjs +0 -0
  434. /package/{test2 → test}/blob2ab.test.mjs +0 -0
  435. /package/{test2 → test}/blob2b64.test.mjs +0 -0
  436. /package/{test2 → test}/blob2str.test.mjs +0 -0
  437. /package/{test2 → test}/blob2u8arr.test.mjs +0 -0
  438. /package/{test2 → test}/blobs2b64s.test.mjs +0 -0
  439. /package/{test2 → test}/blobs2u8arrs.test.mjs +0 -0
  440. /package/{test2 → test}/bodyLog.test.mjs +0 -0
  441. /package/{test2 → test}/browserView.test.mjs +0 -0
  442. /package/{test2 → test}/browserViewFromBlob.test.mjs +0 -0
  443. /package/{test2 → test}/browserViewFromText.test.mjs +0 -0
  444. /package/{test2 → test}/browserViewFromU8arr.test.mjs +0 -0
  445. /package/{test2 → test}/bs2u8arr.test.mjs +0 -0
  446. /package/{test2 → test}/bufRead.test.mjs +0 -0
  447. /package/{test2 → test}/bufReadDbl.test.mjs +0 -0
  448. /package/{test2 → test}/bufWrite.test.mjs +0 -0
  449. /package/{test2 → test}/bufWriteDbl.test.mjs +0 -0
  450. /package/{test2 → test}/cache.test.mjs +0 -0
  451. /package/{test2 → test}/cbol.test.mjs +0 -0
  452. /package/{test2 → test}/cdbl.test.mjs +0 -0
  453. /package/{test2 → test}/cfilesize.test.mjs +0 -0
  454. /package/{test2 → test}/cfinancial.test.mjs +0 -0
  455. /package/{test2 → test}/cint.test.mjs +0 -0
  456. /package/{test2 → test}/clearXSS.test.mjs +0 -0
  457. /package/{test2 → test}/color.test.mjs +0 -0
  458. /package/{test2 → test}/composeToTree.test.mjs +0 -0
  459. /package/{test2 → test}/convertToTree.test.mjs +0 -0
  460. /package/{test2 → test}/copyStrToClipboard.test.mjs +0 -0
  461. /package/{test2 → test}/cosd.test.mjs +0 -0
  462. /package/{test2 → test}/cotd.test.mjs +0 -0
  463. /package/{test2 → test}/createExcelWorkbook.test.mjs +0 -0
  464. /package/{test2 → test}/cscd.test.mjs +0 -0
  465. /package/{test2 → test}/cstr.test.mjs +0 -0
  466. /package/{test2 → test}/day2cht.test.mjs +0 -0
  467. /package/{test2 → test}/debounce.test.mjs +0 -0
  468. /package/{test2 → test}/delay.test.mjs +0 -0
  469. /package/{test2 → test}/dig.test.mjs +0 -0
  470. /package/{test2 → test}/digExp.test.mjs +0 -0
  471. /package/{test2 → test}/domAlert.test.mjs +0 -0
  472. /package/{test2 → test}/domAppend.test.mjs +0 -0
  473. /package/{test2 → test}/domCancelEvent.test.mjs +0 -0
  474. /package/{test2 → test}/domCompareText.test.mjs +0 -0
  475. /package/{test2 → test}/domCompareTextDyn.test.mjs +0 -0
  476. /package/{test2 → test}/domConvertToPic.test.mjs +0 -0
  477. /package/{test2 → test}/domConvertToPicDyn.test.mjs +0 -0
  478. /package/{test2 → test}/domDetect.test.mjs +0 -0
  479. /package/{test2 → test}/domDrag.test.mjs +0 -0
  480. /package/{test2 → test}/domDragBarAndScroll.test.mjs +0 -0
  481. /package/{test2 → test}/domDragPreview.test.mjs +0 -0
  482. /package/{test2 → test}/domDropFiles.test.mjs +0 -0
  483. /package/{test2 → test}/domElementsFromPoint.test.mjs +0 -0
  484. /package/{test2 → test}/domFadeIn.test.mjs +0 -0
  485. /package/{test2 → test}/domFadeOut.test.mjs +0 -0
  486. /package/{test2 → test}/domFind.test.mjs +0 -0
  487. /package/{test2 → test}/domFinds.test.mjs +0 -0
  488. /package/{test2 → test}/domGetAttr.test.mjs +0 -0
  489. /package/{test2 → test}/domGetBoudRect.test.mjs +0 -0
  490. /package/{test2 → test}/domGetBoudRectRefSelf.test.mjs +0 -0
  491. /package/{test2 → test}/domGetFileAccept.test.mjs +0 -0
  492. /package/{test2 → test}/domGetFiles.test.mjs +0 -0
  493. /package/{test2 → test}/domGetParents.test.mjs +0 -0
  494. /package/{test2 → test}/domGetPointFromEvent.test.mjs +0 -0
  495. /package/{test2 → test}/domGetScrollableParent.test.mjs +0 -0
  496. /package/{test2 → test}/domGetWindowSize.test.mjs +0 -0
  497. /package/{test2 → test}/domIsClientXYIn.test.mjs +0 -0
  498. /package/{test2 → test}/domIsFocused.test.mjs +0 -0
  499. /package/{test2 → test}/domIsVisible.test.mjs +0 -0
  500. /package/{test2 → test}/domPrepend.test.mjs +0 -0
  501. /package/{test2 → test}/domRemove.test.mjs +0 -0
  502. /package/{test2 → test}/domRenderMarkdownMind.test.mjs +0 -0
  503. /package/{test2 → test}/domRenderMarkdownMindDyn.test.mjs +0 -0
  504. /package/{test2 → test}/domRipple.test.mjs +0 -0
  505. /package/{test2 → test}/domScrollIntoView.test.mjs +0 -0
  506. /package/{test2 → test}/domScrollTo.test.mjs +0 -0
  507. /package/{test2 → test}/domShowImages.test.mjs +0 -0
  508. /package/{test2 → test}/domShowImagesDyn.test.mjs +0 -0
  509. /package/{test2 → test}/domShowInputAndGetFiles.test.mjs +0 -0
  510. /package/{test2 → test}/domShowInputAndGetFilesU8Arrs.test.mjs +0 -0
  511. /package/{test2 → test}/domTooltip.test.mjs +0 -0
  512. /package/{test2 → test}/domTriggerEvent.test.mjs +0 -0
  513. /package/{test2 → test}/domVirtualCreate.test.mjs +0 -0
  514. /package/{test2 → test}/domVirtualCreateQueue.test.mjs +0 -0
  515. /package/{test2 → test}/downloadExcelFileFromData.test.mjs +0 -0
  516. /package/{test2 → test}/downloadExcelFileFromDataDyn.test.mjs +0 -0
  517. /package/{test2 → test}/downloadFileFromB64.test.mjs +0 -0
  518. /package/{test2 → test}/downloadFileFromBlob.test.mjs +0 -0
  519. /package/{test2 → test}/downloadFileFromText.test.mjs +0 -0
  520. /package/{test2 → test}/downloadFileFromU8Arr.test.mjs +0 -0
  521. /package/{test2 → test}/dtmapping.test.mjs +0 -0
  522. /package/{test2 → test}/dtpick.test.mjs +0 -0
  523. /package/{test2 → test}/evem.test.mjs +0 -0
  524. /package/{test2 → test}/execProcess.test.mjs +0 -0
  525. /package/{test2 → test}/execScript.test.mjs +0 -0
  526. /package/{test2 → test}/f2c.test.mjs +0 -0
  527. /package/{test2 → test}/filepathToTree.test.mjs +0 -0
  528. /package/{test2 → test}/files2data.test.mjs +0 -0
  529. /package/{test2 → test}/flattenToConn.test.mjs +0 -0
  530. /package/{test2 → test}/flattenTree.test.mjs +0 -0
  531. /package/{test2 → test}/fsCleanFolder.test.mjs +0 -0
  532. /package/{test2 → test}/fsCopyFolder.test.mjs +0 -0
  533. /package/{test2 → test}/fsCreateFile.test.mjs +0 -0
  534. /package/{test2 → test}/fsCreateFolder.test.mjs +0 -0
  535. /package/{test2 → test}/fsDeleteFile.test.mjs +0 -0
  536. /package/{test2 → test}/fsDeleteFolder.test.mjs +0 -0
  537. /package/{test2 → test}/fsEvem.test.mjs +0 -0
  538. /package/{test2 → test}/fsGetFilesInFolder.test.mjs +0 -0
  539. /package/{test2 → test}/fsGetFoldersInFolder.test.mjs +0 -0
  540. /package/{test2 → test}/fsIsFile.test.mjs +0 -0
  541. /package/{test2 → test}/fsIsFolder.test.mjs +0 -0
  542. /package/{test2 → test}/fsReadText.test.mjs +0 -0
  543. /package/{test2 → test}/fsRenameFile.test.mjs +0 -0
  544. /package/{test2 → test}/fsRenameFolder.test.mjs +0 -0
  545. /package/{test2 → test}/fsTreeFolder.test.mjs +0 -0
  546. /package/{test2 → test}/fsWatchFile.test.mjs +0 -0
  547. /package/{test2 → test}/fsWriteText.test.mjs +0 -0
  548. /package/{test2 → test}/genGradientColor.test.mjs +0 -0
  549. /package/{test2 → test}/genID.test.mjs +0 -0
  550. /package/{test2 → test}/genPm.test.mjs +0 -0
  551. /package/{test2 → test}/getBufferSize.test.mjs +0 -0
  552. /package/{test2 → test}/getClearPathName.test.mjs +0 -0
  553. /package/{test2 → test}/getCsvStrFromData.test.mjs +0 -0
  554. /package/{test2 → test}/getDataFromExcelFileU8Arr.test.mjs +0 -0
  555. /package/{test2 → test}/getDataFromExcelFileU8ArrDyn.test.mjs +0 -0
  556. /package/{test2 → test}/getDirName.test.mjs +0 -0
  557. /package/{test2 → test}/getEnv.test.mjs +0 -0
  558. /package/{test2 → test}/getExcelU8ArrFromData.test.mjs +0 -0
  559. /package/{test2 → test}/getExcelU8ArrFromWorkbook.test.mjs +0 -0
  560. /package/{test2 → test}/getExcelWorkbookFromData.test.mjs +0 -0
  561. /package/{test2 → test}/getExcelWorkbookFromWorksheet.test.mjs +0 -0
  562. /package/{test2 → test}/getExcelWorksheetFromData.test.mjs +0 -0
  563. /package/{test2 → test}/getFileAccept.test.mjs +0 -0
  564. /package/{test2 → test}/getFileName.test.mjs +0 -0
  565. /package/{test2 → test}/getFileTrueName.test.mjs +0 -0
  566. /package/{test2 → test}/getGlobal.test.mjs +0 -0
  567. /package/{test2 → test}/getObjSize.test.mjs +0 -0
  568. /package/{test2 → test}/getTimeBetween.test.mjs +0 -0
  569. /package/{test2 → test}/getTimeFromUnit.test.mjs +0 -0
  570. /package/{test2 → test}/getTimeObject.test.mjs +0 -0
  571. /package/{test2 → test}/getTimeRange.test.mjs +0 -0
  572. /package/{test2 → test}/getUserAgent.test.mjs +0 -0
  573. /package/{test2 → test}/getUserAgentDyn.test.mjs +0 -0
  574. /package/{test2 → test}/getltdtkeys.test.mjs +0 -0
  575. /package/{test2 → test}/haskey.test.mjs +0 -0
  576. /package/{test2 → test}/html2pic.test.mjs +0 -0
  577. /package/{test2 → test}/html2picDyn.test.mjs +0 -0
  578. /package/{test2 → test}/html2str.test.mjs +0 -0
  579. /package/{test2 → test}/html2strDyn.test.mjs +0 -0
  580. /package/{test2 → test}/htmlDecode.test.mjs +0 -0
  581. /package/{test2 → test}/htmlEncode.test.mjs +0 -0
  582. /package/{test2 → test}/importResources.test.mjs +0 -0
  583. /package/{test2 → test}/interp1.test.mjs +0 -0
  584. /package/{test2 → test}/isDev.test.mjs +0 -0
  585. /package/{test2 → test}/isEle.test.mjs +0 -0
  586. /package/{test2 → test}/isEleExistByID.test.mjs +0 -0
  587. /package/{test2 → test}/isEmail.test.mjs +0 -0
  588. /package/{test2 → test}/isIE.test.mjs +0 -0
  589. /package/{test2 → test}/isNarrow.test.mjs +0 -0
  590. /package/{test2 → test}/isStrHasCapital.test.mjs +0 -0
  591. /package/{test2 → test}/isStrHasLowerCase.test.mjs +0 -0
  592. /package/{test2 → test}/isStrHasNumber.test.mjs +0 -0
  593. /package/{test2 → test}/isUserIdentify.test.mjs +0 -0
  594. /package/{test2 → test}/isUserName.test.mjs +0 -0
  595. /package/{test2 → test}/isUserPW.test.mjs +0 -0
  596. /package/{test2 → test}/isWindow.test.mjs +0 -0
  597. /package/{test2 → test}/isab.test.mjs +0 -0
  598. /package/{test2 → test}/isarr.test.mjs +0 -0
  599. /package/{test2 → test}/isarr0.test.mjs +0 -0
  600. /package/{test2 → test}/isblob.test.mjs +0 -0
  601. /package/{test2 → test}/isbol.test.mjs +0 -0
  602. /package/{test2 → test}/isday.test.mjs +0 -0
  603. /package/{test2 → test}/isearr.test.mjs +0 -0
  604. /package/{test2 → test}/iseobj.test.mjs +0 -0
  605. /package/{test2 → test}/iser.test.mjs +0 -0
  606. /package/{test2 → test}/isernot.test.mjs +0 -0
  607. /package/{test2 → test}/isestr.test.mjs +0 -0
  608. /package/{test2 → test}/isfun.test.mjs +0 -0
  609. /package/{test2 → test}/isint.test.mjs +0 -0
  610. /package/{test2 → test}/ismonth.test.mjs +0 -0
  611. /package/{test2 → test}/isn0int.test.mjs +0 -0
  612. /package/{test2 → test}/isn0num.test.mjs +0 -0
  613. /package/{test2 → test}/isnbr.test.mjs +0 -0
  614. /package/{test2 → test}/isnint.test.mjs +0 -0
  615. /package/{test2 → test}/isnnum.test.mjs +0 -0
  616. /package/{test2 → test}/isnull.test.mjs +0 -0
  617. /package/{test2 → test}/isnum.test.mjs +0 -0
  618. /package/{test2 → test}/isobj.test.mjs +0 -0
  619. /package/{test2 → test}/isobj0.test.mjs +0 -0
  620. /package/{test2 → test}/isp0int.test.mjs +0 -0
  621. /package/{test2 → test}/isp0num.test.mjs +0 -0
  622. /package/{test2 → test}/ispint.test.mjs +0 -0
  623. /package/{test2 → test}/ispm.test.mjs +0 -0
  624. /package/{test2 → test}/ispnum.test.mjs +0 -0
  625. /package/{test2 → test}/isstr.test.mjs +0 -0
  626. /package/{test2 → test}/isstr0.test.mjs +0 -0
  627. /package/{test2 → test}/istime.test.mjs +0 -0
  628. /package/{test2 → test}/istimeTZ.test.mjs +0 -0
  629. /package/{test2 → test}/istimems.test.mjs +0 -0
  630. /package/{test2 → test}/istimemsTZ.test.mjs +0 -0
  631. /package/{test2 → test}/isu16arr.test.mjs +0 -0
  632. /package/{test2 → test}/isu8arr.test.mjs +0 -0
  633. /package/{test2 → test}/isundefined.test.mjs +0 -0
  634. /package/{test2 → test}/j2o.test.mjs +0 -0
  635. /package/{test2 → test}/keysmat2ltdt.test.mjs +0 -0
  636. /package/{test2 → test}/log.test.mjs +0 -0
  637. /package/{test2 → test}/ltdt2vrtsable.test.mjs +0 -0
  638. /package/{test2 → test}/ltdtDiff.test.mjs +0 -0
  639. /package/{test2 → test}/ltdtDiffByKey.test.mjs +0 -0
  640. /package/{test2 → test}/ltdtkeys2mat.test.mjs +0 -0
  641. /package/{test2 → test}/ltdtkeysheads2mat.test.mjs +0 -0
  642. /package/{test2 → test}/ltdtmapping.test.mjs +0 -0
  643. /package/{test2 → test}/ltdtmerge.test.mjs +0 -0
  644. /package/{test2 → test}/ltdtpick.test.mjs +0 -0
  645. /package/{test2 → test}/ltdtpull.test.mjs +0 -0
  646. /package/{test2 → test}/mat2ltdt.test.mjs +0 -0
  647. /package/{test2 → test}/matConcat.test.mjs +0 -0
  648. /package/{test2 → test}/matDiff.test.mjs +0 -0
  649. /package/{test2 → test}/matat.test.mjs +0 -0
  650. /package/{test2 → test}/now2str.test.mjs +0 -0
  651. /package/{test2 → test}/now2strp.test.mjs +0 -0
  652. /package/{test2 → test}/nowDay2str.test.mjs +0 -0
  653. /package/{test2 → test}/nowms2str.test.mjs +0 -0
  654. /package/{test2 → test}/nowms2strp.test.mjs +0 -0
  655. /package/{test2 → test}/o2j.test.mjs +0 -0
  656. /package/{test2 → test}/obj2b64.test.mjs +0 -0
  657. /package/{test2 → test}/obj2pb64.test.mjs +0 -0
  658. /package/{test2 → test}/obj2str.test.mjs +0 -0
  659. /package/{test2 → test}/obj2stru8arr.test.mjs +0 -0
  660. /package/{test2 → test}/obj2u8arr.test.mjs +0 -0
  661. /package/{test2 → test}/objSortBy.test.mjs +0 -0
  662. /package/{test2 → test}/objSortByKeys.test.mjs +0 -0
  663. /package/{test2 → test}/ocr.test.mjs +0 -0
  664. /package/{test2 → test}/ocrDyn.test.mjs +0 -0
  665. /package/{test2 → test}/oo.test.mjs +0 -0
  666. /package/{test2 → test}/openLink.test.mjs +0 -0
  667. /package/{test2 → test}/pb642obj.test.mjs +0 -0
  668. /package/{test2 → test}/pm2resolve.test.mjs +0 -0
  669. /package/{test2 → test}/pmChain.test.mjs +0 -0
  670. /package/{test2 → test}/pmConvertResolve.test.mjs +0 -0
  671. /package/{test2 → test}/pmHook.test.mjs +0 -0
  672. /package/{test2 → test}/pmHookReject.test.mjs +0 -0
  673. /package/{test2 → test}/pmIni.test.mjs +0 -0
  674. /package/{test2 → test}/pmInvResolve.test.mjs +0 -0
  675. /package/{test2 → test}/pmMap.test.mjs +0 -0
  676. /package/{test2 → test}/pmQueue.test.mjs +0 -0
  677. /package/{test2 → test}/pmSeries.test.mjs +0 -0
  678. /package/{test2 → test}/pmThrottle.test.mjs +0 -0
  679. /package/{test2 → test}/pseudoRandom.test.mjs +0 -0
  680. /package/{test2 → test}/pseudoRandomIntRange.test.mjs +0 -0
  681. /package/{test2 → test}/pseudoRandomRange.test.mjs +0 -0
  682. /package/{test2 → test}/queue.test.mjs +0 -0
  683. /package/{test2 → test}/rang.test.mjs +0 -0
  684. /package/{test2 → test}/rep.test.mjs +0 -0
  685. /package/{test2 → test}/repObj.test.mjs +0 -0
  686. /package/{test2 → test}/replace.test.mjs +0 -0
  687. /package/{test2 → test}/replaceObj.test.mjs +0 -0
  688. /package/{test2 → test}/replacePlus.test.mjs +0 -0
  689. /package/{test2 → test}/round.test.mjs +0 -0
  690. /package/{test2 → test}/secd.test.mjs +0 -0
  691. /package/{test2 → test}/sep.test.mjs +0 -0
  692. /package/{test2 → test}/sepInt.test.mjs +0 -0
  693. /package/{test2 → test}/sind.test.mjs +0 -0
  694. /package/{test2 → test}/split.test.mjs +0 -0
  695. /package/{test2 → test}/str2aes.test.mjs +0 -0
  696. /package/{test2 → test}/str2b64.test.mjs +0 -0
  697. /package/{test2 → test}/str2hint.test.mjs +0 -0
  698. /package/{test2 → test}/str2md5.test.mjs +0 -0
  699. /package/{test2 → test}/str2obj.test.mjs +0 -0
  700. /package/{test2 → test}/str2sha512.test.mjs +0 -0
  701. /package/{test2 → test}/str2u8arr.test.mjs +0 -0
  702. /package/{test2 → test}/strCompare.test.mjs +0 -0
  703. /package/{test2 → test}/strDiff.test.mjs +0 -0
  704. /package/{test2 → test}/strFindFuzz.test.mjs +0 -0
  705. /package/{test2 → test}/strFindFuzzDyn.test.mjs +0 -0
  706. /package/{test2 → test}/strFindSimilar.test.mjs +0 -0
  707. /package/{test2 → test}/strdelleft.test.mjs +0 -0
  708. /package/{test2 → test}/strdelright.test.mjs +0 -0
  709. /package/{test2 → test}/strleft.test.mjs +0 -0
  710. /package/{test2 → test}/strmid.test.mjs +0 -0
  711. /package/{test2 → test}/strright.test.mjs +0 -0
  712. /package/{test2 → test}/stru8arr2obj.test.mjs +0 -0
  713. /package/{test2 → test}/tand.test.mjs +0 -0
  714. /package/{test2 → test}/time2day.test.mjs +0 -0
  715. /package/{test2 → test}/time2hour.test.mjs +0 -0
  716. /package/{test2 → test}/time2min.test.mjs +0 -0
  717. /package/{test2 → test}/timeTZ2day.test.mjs +0 -0
  718. /package/{test2 → test}/timeTZ2expire.test.mjs +0 -0
  719. /package/{test2 → test}/timeTZ2hour.test.mjs +0 -0
  720. /package/{test2 → test}/timeTZ2min.test.mjs +0 -0
  721. /package/{test2 → test}/timeTZ2past.test.mjs +0 -0
  722. /package/{test2 → test}/timems2day.test.mjs +0 -0
  723. /package/{test2 → test}/timems2hour.test.mjs +0 -0
  724. /package/{test2 → test}/timems2min.test.mjs +0 -0
  725. /package/{test2 → test}/timems2time.test.mjs +0 -0
  726. /package/{test2 → test}/timemsTZ2day.test.mjs +0 -0
  727. /package/{test2 → test}/timemsTZ2expire.test.mjs +0 -0
  728. /package/{test2 → test}/timemsTZ2hour.test.mjs +0 -0
  729. /package/{test2 → test}/timemsTZ2min.test.mjs +0 -0
  730. /package/{test2 → test}/timemsTZ2past.test.mjs +0 -0
  731. /package/{test2 → test}/timemsTZ2time.test.mjs +0 -0
  732. /package/{test2 → test}/treeObj.test.mjs +0 -0
  733. /package/{test2 → test}/treeToFilepath.test.mjs +0 -0
  734. /package/{test2 → test}/trim.test.mjs +0 -0
  735. /package/{test2 → test}/u16arr2b64.test.mjs +0 -0
  736. /package/{test2 → test}/u16arr2u8arr.test.mjs +0 -0
  737. /package/{test2 → test}/u8arr2ab.test.mjs +0 -0
  738. /package/{test2 → test}/u8arr2b64.test.mjs +0 -0
  739. /package/{test2 → test}/u8arr2blob.test.mjs +0 -0
  740. /package/{test2 → test}/u8arr2bs.test.mjs +0 -0
  741. /package/{test2 → test}/u8arr2obj.test.mjs +0 -0
  742. /package/{test2 → test}/u8arr2str.test.mjs +0 -0
  743. /package/{test2 → test}/u8arr2u16arr.test.mjs +0 -0
  744. /package/{test2 → test}/urlParse.test.mjs +0 -0
  745. /package/{test2 → test}/verifyValue.test.mjs +0 -0
  746. /package/{test2 → test}/waitFun.test.mjs +0 -0
@@ -454,7 +454,7 @@ export default treeObj
454
454
  <br class="clear">
455
455
 
456
456
  <footer>
457
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Mon Jul 31 2023 14:26:08 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
457
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Tue Aug 01 2023 12:48:02 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
458
458
  </footer>
459
459
 
460
460
  <script>prettyPrint();</script>
@@ -371,7 +371,7 @@ export default treeToFilepath
371
371
  <br class="clear">
372
372
 
373
373
  <footer>
374
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Mon Jul 31 2023 14:26:08 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
374
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Tue Aug 01 2023 12:48:02 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
375
375
  </footer>
376
376
 
377
377
  <script>prettyPrint();</script>
@@ -158,7 +158,7 @@ export default trim
158
158
  <br class="clear">
159
159
 
160
160
  <footer>
161
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Mon Jul 31 2023 14:26:08 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
161
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Tue Aug 01 2023 12:48:02 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
162
162
  </footer>
163
163
 
164
164
  <script>prettyPrint();</script>
@@ -89,7 +89,7 @@ export default u16arr2b64
89
89
  <br class="clear">
90
90
 
91
91
  <footer>
92
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Mon Jul 31 2023 14:26:08 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
92
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Tue Aug 01 2023 12:48:02 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
93
93
  </footer>
94
94
 
95
95
  <script>prettyPrint();</script>
@@ -87,7 +87,7 @@ export default u16arr2u8arr
87
87
  <br class="clear">
88
88
 
89
89
  <footer>
90
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Mon Jul 31 2023 14:26:08 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
90
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Tue Aug 01 2023 12:48:02 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
91
91
  </footer>
92
92
 
93
93
  <script>prettyPrint();</script>
@@ -88,7 +88,7 @@ export default u8arr2ab
88
88
  <br class="clear">
89
89
 
90
90
  <footer>
91
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Mon Jul 31 2023 14:26:08 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
91
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Tue Aug 01 2023 12:48:02 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
92
92
  </footer>
93
93
 
94
94
  <script>prettyPrint();</script>
@@ -91,7 +91,7 @@ export default u8arr2b64
91
91
  <br class="clear">
92
92
 
93
93
  <footer>
94
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Mon Jul 31 2023 14:26:08 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.2</a> on Tue Aug 01 2023 12:48:02 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
95
95
  </footer>
96
96
 
97
97
  <script>prettyPrint();</script>
@@ -92,7 +92,7 @@ export default u8arr2blob
92
92
  <br class="clear">
93
93
 
94
94
  <footer>
95
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Mon Jul 31 2023 14:26:08 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
95
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Tue Aug 01 2023 12:48:02 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
96
96
  </footer>
97
97
 
98
98
  <script>prettyPrint();</script>
@@ -93,7 +93,7 @@ export default u8arr2bs
93
93
  <br class="clear">
94
94
 
95
95
  <footer>
96
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Mon Jul 31 2023 14:26:08 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.2</a> on Tue Aug 01 2023 12:48:02 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
97
97
  </footer>
98
98
 
99
99
  <script>prettyPrint();</script>
@@ -149,7 +149,7 @@ export default u8arr2obj
149
149
  <br class="clear">
150
150
 
151
151
  <footer>
152
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Mon Jul 31 2023 14:26:08 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
152
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Tue Aug 01 2023 12:48:02 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
153
153
  </footer>
154
154
 
155
155
  <script>prettyPrint();</script>
@@ -98,7 +98,7 @@ export default u8arr2str
98
98
  <br class="clear">
99
99
 
100
100
  <footer>
101
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Mon Jul 31 2023 14:26:08 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.2</a> on Tue Aug 01 2023 12:48:02 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
102
102
  </footer>
103
103
 
104
104
  <script>prettyPrint();</script>
@@ -87,7 +87,7 @@ export default u8arr2u16arr
87
87
  <br class="clear">
88
88
 
89
89
  <footer>
90
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Mon Jul 31 2023 14:26:08 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
90
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Tue Aug 01 2023 12:48:02 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
91
91
  </footer>
92
92
 
93
93
  <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.2</a> on Mon Jul 31 2023 14:26:08 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.2</a> on Tue Aug 01 2023 12:48:02 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
115
115
  </footer>
116
116
 
117
117
  <script>prettyPrint();</script>
@@ -202,7 +202,7 @@ export default verifyValue
202
202
  <br class="clear">
203
203
 
204
204
  <footer>
205
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Mon Jul 31 2023 14:26:08 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
205
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Tue Aug 01 2023 12:48:02 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
206
206
  </footer>
207
207
 
208
208
  <script>prettyPrint();</script>
@@ -213,7 +213,7 @@ export default waitFun
213
213
  <br class="clear">
214
214
 
215
215
  <footer>
216
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Mon Jul 31 2023 14:26:08 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
216
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Tue Aug 01 2023 12:48:02 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
217
217
  </footer>
218
218
 
219
219
  <script>prettyPrint();</script>
package/docs/wsemi.html CHANGED
@@ -9505,7 +9505,7 @@ console.log(atand(-Infinity))
9505
9505
 
9506
9506
  <dt class="tag-source">Source:</dt>
9507
9507
  <dd class="tag-source"><ul class="dummy"><li>
9508
- <a href="attstr.mjs.html">attstr.mjs</a>, <a href="attstr.mjs.html#line555">line 555</a>
9508
+ <a href="attstr.mjs.html">attstr.mjs</a>, <a href="attstr.mjs.html#line616">line 616</a>
9509
9509
  </li></ul></dd>
9510
9510
 
9511
9511
 
@@ -9600,6 +9600,39 @@ r = at.parse(c)
9600
9600
  console.log(r)
9601
9601
  // =&gt; []
9602
9602
 
9603
+ //join
9604
+ console.log('join')
9605
+
9606
+ c = ['abc123']
9607
+ r = at.join(c)
9608
+ console.log(r)
9609
+ // =&gt; 'abc123'
9610
+
9611
+ c = ['abc123', 'def456']
9612
+ r = at.join(c)
9613
+ console.log(r)
9614
+ // =&gt; 'abc123;def456'
9615
+
9616
+ c = ['abc@123']
9617
+ r = at.join(c)
9618
+ console.log(r)
9619
+ // =&gt; 'abc@123'
9620
+
9621
+ c = ['abc@123', 'def@456']
9622
+ r = at.join(c)
9623
+ console.log(r)
9624
+ // =&gt; 'abc@123;def@456'
9625
+
9626
+ c = [{ table: 'abc', id: '123' }, { table: 'def', id: '456' }]
9627
+ r = at.join(c)
9628
+ console.log(r)
9629
+ // =&gt; 'abc@123;def@456'
9630
+
9631
+ c = []
9632
+ r = at.join(c)
9633
+ console.log(r)
9634
+ // =&gt; ''
9635
+
9603
9636
  //add
9604
9637
  console.log('add')
9605
9638
 
@@ -9657,11 +9690,11 @@ r = at.add(c1, c2)
9657
9690
  console.log(r)
9658
9691
  // =&gt; abc@123;def@456;ghi@789
9659
9692
 
9660
- c1 = 'abc@123;ghi789'
9693
+ c1 = 'abc@123;ghi@789'
9661
9694
  c2 = 'abc@123;def@456'
9662
9695
  r = at.add(c1, c2)
9663
9696
  console.log(r)
9664
- // =&gt; abc@123;ghi789;def@456
9697
+ // =&gt; abc@123;ghi@789;def@456
9665
9698
 
9666
9699
  c1 = ''
9667
9700
  c2 = 'abc@123'
@@ -9808,7 +9841,7 @@ console.log(r)
9808
9841
 
9809
9842
 
9810
9843
  <div class="param-desc">
9811
- <p>回傳attstr物件,提供parse、remove、add、combine等共4種處理函數</p>
9844
+ <p>回傳attstr物件,提供parse、join、remove、add4種處理函數</p>
9812
9845
  </div>
9813
9846
 
9814
9847
 
@@ -85914,7 +85947,7 @@ topAsync().catch(() =&gt; {})</code></pre>
85914
85947
  <br class="clear">
85915
85948
 
85916
85949
  <footer>
85917
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Mon Jul 31 2023 14:26:08 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
85950
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.2</a> on Tue Aug 01 2023 12:48:02 GMT+0800 (台北標準時間) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
85918
85951
  </footer>
85919
85952
 
85920
85953
  <script>prettyPrint();</script>
@@ -85935,7 +85968,7 @@ topAsync().catch(() =&gt; {})</code></pre>
85935
85968
  'https://cdn.jsdelivr.net/npm/fuse.js@6.6.2/dist/fuse.min.js',
85936
85969
  'https://cdn.jsdelivr.net/npm/ua-parser-js@1.0.34/dist/ua-parser.min.js',
85937
85970
  'https://cdn.jsdelivr.net/npm/xss@1.0.14/dist/xss.min.js',
85938
- 'https://cdn.jsdelivr.net/npm/wsemi@1.7.20/dist/wsemi.umd.js',
85971
+ 'https://cdn.jsdelivr.net/npm/wsemi@1.7.21/dist/wsemi.umd.js',
85939
85972
  ]
85940
85973
  }
85941
85974
  prefill = JSON.stringify(prefill)
package/g.mjs CHANGED
@@ -49,6 +49,39 @@ r = at.parse(c)
49
49
  console.log(r)
50
50
  // => []
51
51
 
52
+ //join
53
+ console.log('join')
54
+
55
+ c = ['abc123']
56
+ r = at.join(c)
57
+ console.log(r)
58
+ // => 'abc123'
59
+
60
+ c = ['abc123', 'def456']
61
+ r = at.join(c)
62
+ console.log(r)
63
+ // => 'abc123;def456'
64
+
65
+ c = ['abc@123']
66
+ r = at.join(c)
67
+ console.log(r)
68
+ // => 'abc@123'
69
+
70
+ c = ['abc@123', 'def@456']
71
+ r = at.join(c)
72
+ console.log(r)
73
+ // => 'abc@123;def@456'
74
+
75
+ c = [{ table: 'abc', id: '123' }, { table: 'def', id: '456' }]
76
+ r = at.join(c)
77
+ console.log(r)
78
+ // => 'abc@123;def@456'
79
+
80
+ c = []
81
+ r = at.join(c)
82
+ console.log(r)
83
+ // => ''
84
+
52
85
  //add
53
86
  console.log('add')
54
87
 
@@ -106,11 +139,11 @@ r = at.add(c1, c2)
106
139
  console.log(r)
107
140
  // => abc@123;def@456;ghi@789
108
141
 
109
- c1 = 'abc@123;ghi789'
142
+ c1 = 'abc@123;ghi@789'
110
143
  c2 = 'abc@123;def@456'
111
144
  r = at.add(c1, c2)
112
145
  console.log(r)
113
- // => abc@123;ghi789;def@456
146
+ // => abc@123;ghi@789;def@456
114
147
 
115
148
  c1 = ''
116
149
  c2 = 'abc@123'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wsemi",
3
- "version": "1.7.20",
3
+ "version": "1.7.21",
4
4
  "main": "dist/wsemi.umd.js",
5
5
  "dependencies": {
6
6
  "crypto-js": "^4.1.1",
package/src/attstr.mjs CHANGED
@@ -82,6 +82,34 @@ function atItemsMergeS2(its) {
82
82
  }
83
83
 
84
84
 
85
+ function atJoin(its) {
86
+
87
+ //check
88
+ if (!isearr(its)) {
89
+ return ''
90
+ }
91
+
92
+ //it0
93
+ let it0 = get(its, 0)
94
+
95
+ //mode
96
+ let table = trim(get(it0, 'table', ''))
97
+ let id = trim(get(it0, 'id', ''))
98
+ let mode = '1p'
99
+ if (isestr(table) && isestr(id)) {
100
+ mode = '2p'
101
+ }
102
+
103
+ if (mode === '1p') {
104
+ return atItemsMergeS1(its)
105
+ }
106
+ else if (mode === '2p') {
107
+ return atItemsMergeS2(its)
108
+ }
109
+ return ''
110
+ }
111
+
112
+
85
113
  function atParseS1(composItems) {
86
114
 
87
115
  //check
@@ -316,7 +344,7 @@ function atRemove(composItems, removeItemOrId, opt = {}) {
316
344
  *
317
345
  * Unit Test: {@link https://github.com/yuda-lyu/wsemi/blob/master/test/attstr.test.mjs Github}
318
346
  * @memberOf wsemi
319
- * @returns {Object} 回傳attstr物件,提供parse、remove、add、combine等共4種處理函數
347
+ * @returns {Object} 回傳attstr物件,提供parse、join、remove、add4種處理函數
320
348
  * @example
321
349
  *
322
350
  * let c
@@ -365,6 +393,39 @@ function atRemove(composItems, removeItemOrId, opt = {}) {
365
393
  * console.log(r)
366
394
  * // => []
367
395
  *
396
+ * //join
397
+ * console.log('join')
398
+ *
399
+ * c = ['abc123']
400
+ * r = at.join(c)
401
+ * console.log(r)
402
+ * // => 'abc123'
403
+ *
404
+ * c = ['abc123', 'def456']
405
+ * r = at.join(c)
406
+ * console.log(r)
407
+ * // => 'abc123;def456'
408
+ *
409
+ * c = ['abc@123']
410
+ * r = at.join(c)
411
+ * console.log(r)
412
+ * // => 'abc@123'
413
+ *
414
+ * c = ['abc@123', 'def@456']
415
+ * r = at.join(c)
416
+ * console.log(r)
417
+ * // => 'abc@123;def@456'
418
+ *
419
+ * c = [{ table: 'abc', id: '123' }, { table: 'def', id: '456' }]
420
+ * r = at.join(c)
421
+ * console.log(r)
422
+ * // => 'abc@123;def@456'
423
+ *
424
+ * c = []
425
+ * r = at.join(c)
426
+ * console.log(r)
427
+ * // => ''
428
+ *
368
429
  * //add
369
430
  * console.log('add')
370
431
  *
@@ -422,11 +483,11 @@ function atRemove(composItems, removeItemOrId, opt = {}) {
422
483
  * console.log(r)
423
484
  * // => abc@123;def@456;ghi@789
424
485
  *
425
- * c1 = 'abc@123;ghi789'
486
+ * c1 = 'abc@123;ghi@789'
426
487
  * c2 = 'abc@123;def@456'
427
488
  * r = at.add(c1, c2)
428
489
  * console.log(r)
429
- * // => abc@123;ghi789;def@456
490
+ * // => abc@123;ghi@789;def@456
430
491
  *
431
492
  * c1 = ''
432
493
  * c2 = 'abc@123'
@@ -555,6 +616,7 @@ function atRemove(composItems, removeItemOrId, opt = {}) {
555
616
  function attstr() {
556
617
  let at = {
557
618
  parse: atParse,
619
+ join: atJoin,
558
620
  remove: atRemove,
559
621
  add: atAdd,
560
622
  }
@@ -46,6 +46,42 @@ describe(`attstr`, function() {
46
46
  assert.strict.deepStrictEqual(r, rr)
47
47
  })
48
48
 
49
+ it(`should return 'abc123' when input at.join(['abc123'])`, function() {
50
+ let r = at.join(['abc123'])
51
+ let rr = 'abc123'
52
+ assert.strict.deepStrictEqual(r, rr)
53
+ })
54
+
55
+ it(`should return 'abc123;def456' when input at.join(['abc123', 'def456'])`, function() {
56
+ let r = at.join(['abc123', 'def456'])
57
+ let rr = 'abc123;def456'
58
+ assert.strict.deepStrictEqual(r, rr)
59
+ })
60
+
61
+ it(`should return 'abc@123' when input at.join(['abc@123'])`, function() {
62
+ let r = at.join(['abc@123'])
63
+ let rr = 'abc@123'
64
+ assert.strict.deepStrictEqual(r, rr)
65
+ })
66
+
67
+ it(`should return 'abc@123;def@456' when input at.join(['abc@123', 'def@456'])`, function() {
68
+ let r = at.join(['abc@123', 'def@456'])
69
+ let rr = 'abc@123;def@456'
70
+ assert.strict.deepStrictEqual(r, rr)
71
+ })
72
+
73
+ it(`should return 'abc@123;def@456' when input at.join([{ table: 'abc', id: '123' }, { table: 'def', id: '456' }])`, function() {
74
+ let r = at.join([{ table: 'abc', id: '123' }, { table: 'def', id: '456' }])
75
+ let rr = 'abc@123;def@456'
76
+ assert.strict.deepStrictEqual(r, rr)
77
+ })
78
+
79
+ it(`should return '' when input at.join([])`, function() {
80
+ let r = at.join([])
81
+ let rr = ''
82
+ assert.strict.deepStrictEqual(r, rr)
83
+ })
84
+
49
85
  it(`should return 'abc123;def456' when input at.add('abc123', 'def456')`, function() {
50
86
  let r = at.add('abc123', 'def456')
51
87
  let rr = 'abc123;def456'
@@ -1,193 +0,0 @@
1
- import assert from 'assert'
2
- import at from '../src/attstr.mjs'
3
-
4
-
5
- describe(`attstr`, function() {
6
-
7
- it(`should return [ 'abc123' ] when input at.parse('abc123')`, function() {
8
- let r = at.parse('abc123')
9
- let rr = ['abc123']
10
- assert.strict.deepStrictEqual(r, rr)
11
- })
12
-
13
- it(`should return [ 'abc123' ] when input at.parse('abc123;abc123')`, function() {
14
- let r = at.parse('abc123;abc123')
15
- let rr = ['abc123']
16
- assert.strict.deepStrictEqual(r, rr)
17
- })
18
-
19
- it(`should return [ 'abc123', 'def456' ] when input at.parse('abc123;def456')`, function() {
20
- let r = at.parse('abc123;def456')
21
- let rr = ['abc123', 'def456']
22
- assert.strict.deepStrictEqual(r, rr)
23
- })
24
-
25
- it(`should return [ { item: 'abc@123', table: 'abc', id: '123' } ] when input at.parse('abc@123')`, function() {
26
- let r = at.parse('abc@123')
27
- let rr = [{ item: 'abc@123', table: 'abc', id: '123' }]
28
- assert.strict.deepStrictEqual(r, rr)
29
- })
30
-
31
- it(`should return [ { item: 'abc@123', table: 'abc', id: '123' } ] when input at.parse('abc@123;abc@123')`, function() {
32
- let r = at.parse('abc@123;abc@123')
33
- let rr = [{ item: 'abc@123', table: 'abc', id: '123' }]
34
- assert.strict.deepStrictEqual(r, rr)
35
- })
36
-
37
- it(`should return [ { item: 'abc@123', table: 'abc', id: '123' }, { item: 'def@456', table: 'def', id: '456' } ] when input at.parse('abc@123;def@456')`, function() {
38
- let r = at.parse('abc@123;def@456')
39
- let rr = [{ item: 'abc@123', table: 'abc', id: '123' }, { item: 'def@456', table: 'def', id: '456' }]
40
- assert.strict.deepStrictEqual(r, rr)
41
- })
42
-
43
- it(`should return [] when input at.parse('')`, function() {
44
- let r = at.parse('')
45
- let rr = []
46
- assert.strict.deepStrictEqual(r, rr)
47
- })
48
-
49
- it(`should return 'abc123;def456' when input at.add('abc123', 'def456')`, function() {
50
- let r = at.add('abc123', 'def456')
51
- let rr = 'abc123;def456'
52
- assert.strict.deepStrictEqual(r, rr)
53
- })
54
-
55
- it(`should return 'abc123;def456;ghi789' when input at.add('abc123', 'def456;ghi789')`, function() {
56
- let r = at.add('abc123', 'def456;ghi789')
57
- let rr = 'abc123;def456;ghi789'
58
- assert.strict.deepStrictEqual(r, rr)
59
- })
60
-
61
- it(`should return 'abc123' when input at.add('abc123', 'abc123')`, function() {
62
- let r = at.add('abc123', 'abc123')
63
- let rr = 'abc123'
64
- assert.strict.deepStrictEqual(r, rr)
65
- })
66
-
67
- it(`should return 'abc123;def456' when input at.add('abc123', 'abc123;def456')`, function() {
68
- let r = at.add('abc123', 'abc123;def456')
69
- let rr = 'abc123;def456'
70
- assert.strict.deepStrictEqual(r, rr)
71
- })
72
-
73
- it(`should return 'abc123' when input at.add('', 'abc123')`, function() {
74
- let r = at.add('', 'abc123')
75
- let rr = 'abc123'
76
- assert.strict.deepStrictEqual(r, rr)
77
- })
78
-
79
- it(`should return 'abc123;def456' when input at.add('', 'abc123;def456')`, function() {
80
- let r = at.add('', 'abc123;def456')
81
- let rr = 'abc123;def456'
82
- assert.strict.deepStrictEqual(r, rr)
83
- })
84
-
85
- it(`should return 'abc@123;def@456' when input at.add('abc@123', 'def@456')`, function() {
86
- let r = at.add('abc@123', 'def@456')
87
- let rr = 'abc@123;def@456'
88
- assert.strict.deepStrictEqual(r, rr)
89
- })
90
-
91
- it(`should return 'abc@123;def@456;ghi@789' when input at.add('abc@123', 'def@456;ghi@789')`, function() {
92
- let r = at.add('abc@123', 'def@456;ghi@789')
93
- let rr = 'abc@123;def@456;ghi@789'
94
- assert.strict.deepStrictEqual(r, rr)
95
- })
96
-
97
- it(`should return 'abc@123;def@456' when input at.add('abc@123', 'abc@123;def@456')`, function() {
98
- let r = at.add('abc@123', 'abc@123;def@456')
99
- let rr = 'abc@123;def@456'
100
- assert.strict.deepStrictEqual(r, rr)
101
- })
102
-
103
- it(`should return 'abc@123' when input at.add('', 'abc123')`, function() {
104
- let r = at.add('', 'abc123')
105
- let rr = 'abc@123'
106
- assert.strict.deepStrictEqual(r, rr)
107
- })
108
-
109
- it(`should return 'abc@123;def@456' when input at.add('', 'abc123;def@456')`, function() {
110
- let r = at.add('', 'abc123;def@456')
111
- let rr = 'abc@123;def@456'
112
- assert.strict.deepStrictEqual(r, rr)
113
- })
114
-
115
- it(`should return '' when input at.remove('abc123', 'abc123')`, function() {
116
- let r = at.remove('abc123', 'abc123')
117
- let rr = ''
118
- assert.strict.deepStrictEqual(r, rr)
119
- })
120
-
121
- it(`should return 'def456' when input at.remove('abc123;def456', 'abc123')`, function() {
122
- let r = at.remove('abc123;def456', 'abc123')
123
- let rr = 'def456'
124
- assert.strict.deepStrictEqual(r, rr)
125
- })
126
-
127
- it(`should return 'abc123' when input at.remove('abc123', 'def456')`, function() {
128
- let r = at.remove('abc123', 'def456')
129
- let rr = 'abc123'
130
- assert.strict.deepStrictEqual(r, rr)
131
- })
132
-
133
- it(`should return 'abc123;def456' when input at.remove('abc123;def456', 'ghi789;jkl012')`, function() {
134
- let r = at.remove('abc123;def456', 'ghi789;jkl012')
135
- let rr = 'abc123;def456'
136
- assert.strict.deepStrictEqual(r, rr)
137
- })
138
-
139
- it(`should return '' when input at.remove('', 'ghi789')`, function() {
140
- let r = at.remove('', 'ghi789')
141
- let rr = ''
142
- assert.strict.deepStrictEqual(r, rr)
143
- })
144
-
145
- it(`should return '' when input at.remove('', 'ghi789;jkl012')`, function() {
146
- let r = at.remove('', 'ghi789;jkl012')
147
- let rr = ''
148
- assert.strict.deepStrictEqual(r, rr)
149
- })
150
-
151
- it(`should return '' when input at.remove('abc@123', 'abc@123')`, function() {
152
- let r = at.remove('abc@123', 'abc@123')
153
- let rr = ''
154
- assert.strict.deepStrictEqual(r, rr)
155
- })
156
-
157
- it(`should return 'def@456' when input at.remove('abc@123;def@456', 'abc@123')`, function() {
158
- let r = at.remove('abc@123;def@456', 'abc@123')
159
- let rr = 'def@456'
160
- assert.strict.deepStrictEqual(r, rr)
161
- })
162
-
163
- it(`should return 'abc@123' when input at.remove('abc@123', 'def@456')`, function() {
164
- let r = at.remove('abc@123', 'def@456')
165
- let rr = 'abc@123'
166
- assert.strict.deepStrictEqual(r, rr)
167
- })
168
-
169
- it(`should return 'abc@123' when input at.remove('abc@123;def@456', 'def@456;jkl@012')`, function() {
170
- let r = at.remove('abc@123;def@456', 'def@456;jkl@012')
171
- let rr = 'abc@123'
172
- assert.strict.deepStrictEqual(r, rr)
173
- })
174
-
175
- it(`should return 'abc@123;def@456' when input at.remove('abc@123;def@456', 'ghi@789;jkl@012')`, function() {
176
- let r = at.remove('abc@123;def@456', 'ghi@789;jkl@012')
177
- let rr = 'abc@123;def@456'
178
- assert.strict.deepStrictEqual(r, rr)
179
- })
180
-
181
- it(`should return '' when input at.remove('', 'ghi@789')`, function() {
182
- let r = at.remove('', 'ghi@789')
183
- let rr = ''
184
- assert.strict.deepStrictEqual(r, rr)
185
- })
186
-
187
- it(`should return '' when input at.remove('', 'ghi@789;jkl@012')`, function() {
188
- let r = at.remove('', 'ghi@789;jkl@012')
189
- let rr = ''
190
- assert.strict.deepStrictEqual(r, rr)
191
- })
192
-
193
- })
File without changes
File without changes