vivth 1.4.10 → 1.5.0

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 (379) hide show
  1. package/README.md +6060 -2037
  2. package/README.src.md +22 -14
  3. package/bun.lock +154 -194
  4. package/dev/auto/.src.ignore +25 -0
  5. package/dev/auto-doc.mjs +137 -0
  6. package/generated/types/generated/vivth/exports/all.d.mts +145 -0
  7. package/generated/types/generated/vivth/exports/neutral.d.mts +105 -0
  8. package/generated/types/generated/vivth/exports/node.d.mts +40 -0
  9. package/generated/types/src/bundler/CompileAS.d.mts +30 -0
  10. package/generated/types/src/bundler/CompileJS.d.mts +109 -0
  11. package/{types → generated/types}/src/bundler/CreateESPlugin.d.mts +1 -1
  12. package/{types → generated/types}/src/bundler/EsBundler.d.mts +9 -7
  13. package/generated/types/src/bundler/FSAnalyzer.d.mts +58 -0
  14. package/generated/types/src/bundler/FSasar.bundled.d.mts +28 -0
  15. package/generated/types/src/bundler/FSasar.d.mts +51 -0
  16. package/generated/types/src/bundler/FileSelfMapper.d.mts +137 -0
  17. package/generated/types/src/bundler/JSDirMapper.d.mts +128 -0
  18. package/generated/types/src/bundler/RunWatchThenCompileJSOnSafeExit.d.mts +63 -0
  19. package/generated/types/src/bundler/adds/BrowserExternals.d.mts +21 -0
  20. package/generated/types/src/bundler/adds/CreateTransform.d.mts +26 -0
  21. package/generated/types/src/bundler/adds/LastEditedUnix.d.mts +5 -0
  22. package/generated/types/src/bundler/adds/NodeModuleList.d.mts +15 -0
  23. package/generated/types/src/bundler/adds/PathFSBundles.bundled.d.mts +25 -0
  24. package/generated/types/src/bundler/adds/PathFSBundles.d.mts +48 -0
  25. package/generated/types/src/bundler/adds/PathFSDir.bundled.d.mts +30 -0
  26. package/generated/types/src/bundler/adds/PathFSDir.d.mts +48 -0
  27. package/generated/types/src/bundler/adds/PathFSFile.bundled.d.mts +25 -0
  28. package/generated/types/src/bundler/adds/PathFSFile.d.mts +40 -0
  29. package/{types → generated/types}/src/bundler/adds/ToBundledJSPlugin.d.mts +6 -6
  30. package/generated/types/src/bundler/adds/autoExternalize.d.mts +2 -0
  31. package/generated/types/src/bundler/adds/emptyBufferValue.d.mts +1 -0
  32. package/generated/types/src/bundler/adds/isModuleTheBundledVersion.d.mts +1 -0
  33. package/generated/types/src/bundler/adds/onEndEsBuildErrorLogger.d.mts +1 -0
  34. package/generated/types/src/bundler/adds/resolveJSDependencyPath.d.mts +1 -0
  35. package/generated/types/src/class/AwaitSignal.d.mts +48 -0
  36. package/generated/types/src/class/Console.d.mts +82 -0
  37. package/generated/types/src/class/DataLog.d.mts +25 -0
  38. package/generated/types/src/class/Derived.d.mts +74 -0
  39. package/generated/types/src/class/Effect.d.mts +213 -0
  40. package/{types → generated/types}/src/class/EnvSignal.d.mts +6 -2
  41. package/generated/types/src/class/EsWatcher.d.mts +36 -0
  42. package/{types → generated/types}/src/class/EventSignal.d.mts +39 -39
  43. package/generated/types/src/class/FSDirArchWatcher.d.mts +110 -0
  44. package/{types → generated/types}/src/class/FileSafe.d.mts +32 -16
  45. package/generated/types/src/class/ForEach.d.mts +57 -0
  46. package/generated/types/src/class/ForSignal.d.mts +63 -0
  47. package/generated/types/src/class/GetterSetter.d.mts +38 -0
  48. package/generated/types/src/class/JSONFileHandler.d.mts +50 -0
  49. package/{types → generated/types}/src/class/ListSignal.d.mts +49 -15
  50. package/{types → generated/types}/src/class/LitExp.d.mts +18 -18
  51. package/generated/types/src/class/ObjectSignal.d.mts +267 -0
  52. package/generated/types/src/class/Paths.d.mts +95 -0
  53. package/generated/types/src/class/Prettivy.d.mts +26 -0
  54. package/{types → generated/types}/src/class/QChannel.d.mts +24 -16
  55. package/generated/types/src/class/SafeExit.d.mts +69 -0
  56. package/{types → generated/types}/src/class/Setup.d.mts +29 -16
  57. package/{types → generated/types}/src/class/Signal.d.mts +29 -15
  58. package/generated/types/src/class/SignalCollection.d.mts +96 -0
  59. package/{types → generated/types}/src/class/WalkThrough.d.mts +4 -19
  60. package/generated/types/src/class/WorkerMainThread.bundled.d.mts +83 -0
  61. package/{types → generated/types}/src/class/WorkerMainThread.d.mts +33 -39
  62. package/{types → generated/types}/src/class/WorkerThread.d.mts +11 -5
  63. package/{types → generated/types}/src/common/Base64URL.d.mts +2 -1
  64. package/generated/types/src/common/Base64URLFromFile.d.mts +20 -0
  65. package/generated/types/src/common/BundledV.bundled.d.mts +3 -0
  66. package/generated/types/src/common/BundledV.d.mts +36 -0
  67. package/{types → generated/types}/src/common/CreateStringID.d.mts +5 -4
  68. package/generated/types/src/common/EnvMode.d.mts +79 -0
  69. package/generated/types/src/common/FactoryKey.d.mts +9 -0
  70. package/generated/types/src/common/Preferrence.d.mts +25 -0
  71. package/{types → generated/types}/src/common/Trace.d.mts +1 -1
  72. package/{types → generated/types}/src/common/TracePath.d.mts +1 -1
  73. package/generated/types/src/common/VivthUnBundledCodeBlock.d.mts +6 -0
  74. package/generated/types/src/doc/JSautoDOC.d.mts +172 -0
  75. package/generated/types/src/doc/cleanPreserveTypedef.d.mts +1 -0
  76. package/{types/src/doc/parsedFile.d.mts → generated/types/src/doc/parsedFileForDOC.d.mts} +56 -27
  77. package/generated/types/src/function/ClearRequireCache.d.mts +1 -0
  78. package/{types → generated/types}/src/function/CreateImmutable.d.mts +5 -4
  79. package/{types → generated/types}/src/function/EventCheck.d.mts +3 -1
  80. package/{types → generated/types}/src/function/EventObject.d.mts +2 -6
  81. package/generated/types/src/function/ForInAsync.d.mts +36 -0
  82. package/generated/types/src/function/ForInSync.d.mts +36 -0
  83. package/generated/types/src/function/ForOfAsync.d.mts +25 -0
  84. package/generated/types/src/function/ForOfSync.d.mts +36 -0
  85. package/generated/types/src/function/GetBufferFromRelativePath.d.mts +15 -0
  86. package/generated/types/src/function/GetFilesFromDir.d.mts +14 -0
  87. package/generated/types/src/function/GetMaxFilenameLength.d.mts +9 -0
  88. package/generated/types/src/function/GetModuleEsbuildPlatform.d.mts +13 -0
  89. package/{types → generated/types}/src/function/GetNamedImportAlias.d.mts +1 -1
  90. package/generated/types/src/function/GetRuntime.d.mts +2 -0
  91. package/generated/types/src/function/InstantiateAssemblyScript.d.mts +15 -0
  92. package/{types → generated/types}/src/function/IsAsync.d.mts +1 -1
  93. package/generated/types/src/function/IsInstanceOf.d.mts +25 -0
  94. package/generated/types/src/function/IsSameFile.d.mts +16 -0
  95. package/generated/types/src/function/IsStringLooksLikeAPath.d.mts +16 -0
  96. package/generated/types/src/function/IsTypeOf.d.mts +25 -0
  97. package/{types → generated/types}/src/function/LazyFactory.d.mts +9 -10
  98. package/generated/types/src/function/MonkeyPatch.d.mts +33 -0
  99. package/generated/types/src/function/NewAnimationTimeline.d.mts +24 -0
  100. package/generated/types/src/function/NewChainable.d.mts +35 -0
  101. package/generated/types/src/function/NewDynamicsExport.d.mts +49 -0
  102. package/generated/types/src/function/NewObjectWrapper.d.mts +10 -0
  103. package/generated/types/src/function/ObjectRegistrar.d.mts +17 -0
  104. package/generated/types/src/function/ParseSQLFile.d.mts +25 -0
  105. package/generated/types/src/function/PipeAsync.d.mts +19 -0
  106. package/generated/types/src/function/PipeSync.d.mts +17 -0
  107. package/generated/types/src/function/SafeImport.d.mts +21 -0
  108. package/generated/types/src/function/TemplateLiteral.d.mts +23 -0
  109. package/{types → generated/types}/src/function/Timeout.d.mts +1 -1
  110. package/{types → generated/types}/src/function/Tries.d.mts +4 -4
  111. package/{types → generated/types}/src/function/TryAsync.d.mts +2 -2
  112. package/{types → generated/types}/src/function/TryNew.d.mts +1 -1
  113. package/generated/types/src/function/TsToMjs.d.mts +27 -0
  114. package/generated/types/src/function/UniqueFSTempName.d.mts +9 -0
  115. package/generated/types/src/function/errorToMessage.d.mts +5 -0
  116. package/generated/types/src/neinth/VivthyNeinth.d.mts +202 -0
  117. package/generated/types/src/typehints/ArrayToKeys.d.mts +23 -0
  118. package/generated/types/src/typehints/AssemblyScriptExportsType.d.mts +4 -0
  119. package/generated/types/src/typehints/AssemblyScriptLoaderInstantiate.d.mts +4 -0
  120. package/generated/types/src/typehints/AutoDocASOptions.d.mts +15 -0
  121. package/generated/types/src/typehints/ChainableType.d.mts +3 -0
  122. package/generated/types/src/typehints/ComponentDecorator_Constructor.d.mts +3 -0
  123. package/generated/types/src/typehints/ConsoleAdditionalSettingType.d.mts +3 -0
  124. package/generated/types/src/typehints/Decorator.d.mts +11 -0
  125. package/generated/types/src/typehints/DecoratorMonkeyPatch.d.mts +15 -0
  126. package/{types/src/types → generated/types/src/typehints}/DevTestCB.d.mts +2 -2
  127. package/generated/types/src/typehints/EnvModeType.d.mts +4 -0
  128. package/generated/types/src/typehints/ListArg.d.mts +4 -0
  129. package/generated/types/src/typehints/MonkeyPatchedType.d.mts +1 -0
  130. package/generated/types/src/typehints/ParametersFollowingN.d.mts +13 -0
  131. package/generated/types/src/typehints/PrefixedKeysOf.d.mts +1 -0
  132. package/generated/types/src/typehints/Runtime.d.mts +4 -0
  133. package/generated/types/src/typehints/SafeImportReturnType.d.mts +1 -0
  134. package/generated/types/src/typehints/StylePropRefType.d.mts +2 -0
  135. package/generated/types/src/typehints/TemplateLiteralValueHandler.d.mts +10 -0
  136. package/generated/types/src/typehints/VLifecycleCallbacks.d.mts +6 -0
  137. package/generated/types/src/typehints/VivthCleanup.d.mts +12 -0
  138. package/generated/types/src/web/BrowserDirMapper.d.mts +70 -0
  139. package/generated/types/src/web/EnsureValidTag.d.mts +7 -0
  140. package/generated/types/src/web/ViteAddDynamics.d.mts +28 -0
  141. package/generated/types/src/web/ViteGetAllHTMLFile.d.mts +9 -0
  142. package/generated/types/src/web/WC_extendsA.d.mts +135 -0
  143. package/generated/types/src/web/WC_extendsB.d.mts +135 -0
  144. package/generated/types/src/web/bindings/WC_StyleProp_bind.d.mts +42 -0
  145. package/generated/types/src/web/bindings/WC_createElement_bind.d.mts +51 -0
  146. package/generated/types/src/web/bindings/WC_createNamedSlot.d.mts +26 -0
  147. package/generated/types/src/web/bindings/WC_litRender_bind.d.mts +20 -0
  148. package/generated/types/src/web/bindings/WC_litStyleMap.d.mts +7 -0
  149. package/generated/types/src/web/common/CSS.d.mts +23 -0
  150. package/generated/types/src/web/common/E.d.mts +41 -0
  151. package/generated/types/src/web/common/NewStyleSheetAsync.d.mts +15 -0
  152. package/generated/types/src/web/common/NewStyleSheetSync.d.mts +15 -0
  153. package/generated/types/src/web/common/WC_TagName_type.d.mts +15 -0
  154. package/generated/types/src/web/signals/IsInViewPortSignal.d.mts +52 -0
  155. package/generated/types/src/web/signals/ObserverSignal.d.mts +32 -0
  156. package/generated/types/src/web/signals/WC_litRef.d.mts +26 -0
  157. package/generated/types/src/web/signals/WC_loopedSiblingsRef.d.mts +44 -0
  158. package/generated/vivth/exports/all.mjs +233 -0
  159. package/generated/vivth/exports/neutral.mjs +193 -0
  160. package/generated/vivth/exports/node.mjs +46 -0
  161. package/package.json +50 -14
  162. package/src/bundler/CompileAS.mjs +36 -0
  163. package/src/bundler/CompileJS.mjs +98 -171
  164. package/src/bundler/CreateESPlugin.mjs +1 -1
  165. package/src/bundler/EsBundler.mjs +38 -13
  166. package/src/bundler/FSAnalyzer.mjs +253 -0
  167. package/src/bundler/FSasar.bundled.mjs +128 -0
  168. package/src/bundler/FSasar.mjs +96 -0
  169. package/src/bundler/FileSelfMapper.mjs +491 -0
  170. package/src/bundler/JSDirMapper.mjs +528 -0
  171. package/src/bundler/RunWatchThenCompileJSOnSafeExit.mjs +129 -0
  172. package/src/bundler/adds/BrowserExternals.mjs +37 -0
  173. package/src/bundler/adds/CreateTransform.mjs +36 -0
  174. package/src/bundler/adds/LastEditedUnix.mjs +12 -0
  175. package/src/bundler/adds/NodeModuleList.mjs +33 -0
  176. package/src/bundler/adds/PathFSBundles.bundled.mjs +41 -0
  177. package/src/bundler/adds/PathFSBundles.mjs +91 -0
  178. package/src/bundler/adds/PathFSDir.bundled.mjs +53 -0
  179. package/src/bundler/adds/PathFSDir.mjs +100 -0
  180. package/src/bundler/adds/PathFSFile.bundled.mjs +40 -0
  181. package/src/bundler/adds/PathFSFile.mjs +85 -0
  182. package/src/bundler/adds/ToBundledJSPlugin.mjs +116 -55
  183. package/src/bundler/adds/autoExternalize.mjs +81 -0
  184. package/src/bundler/adds/emptyBufferValue.mjs +5 -0
  185. package/src/bundler/adds/isModuleTheBundledVersion.mjs +10 -0
  186. package/src/bundler/adds/onEndEsBuildErrorLogger.mjs +34 -0
  187. package/src/bundler/adds/resolveJSDependencyPath.mjs +17 -0
  188. package/src/class/AwaitSignal.mjs +119 -0
  189. package/src/class/Console.mjs +36 -14
  190. package/src/class/DataLog.mjs +29 -0
  191. package/src/class/Derived.mjs +67 -55
  192. package/src/class/Effect.mjs +270 -84
  193. package/src/class/EnvSignal.mjs +11 -8
  194. package/src/class/EsWatcher.mjs +60 -0
  195. package/src/class/EventSignal.mjs +46 -58
  196. package/src/class/FSDirArchWatcher.mjs +246 -0
  197. package/src/class/FileSafe.mjs +72 -24
  198. package/src/class/ForEach.mjs +78 -0
  199. package/src/class/ForSignal.mjs +115 -0
  200. package/src/class/GetterSetter.mjs +40 -0
  201. package/src/class/JSONFileHandler.mjs +90 -0
  202. package/src/class/ListSignal.mjs +68 -26
  203. package/src/class/LitExp.mjs +59 -36
  204. package/src/class/ObjectSignal.mjs +225 -0
  205. package/src/class/Paths.mjs +56 -20
  206. package/src/class/Prettivy.mjs +51 -0
  207. package/src/class/QChannel.mjs +48 -26
  208. package/src/class/SafeExit.mjs +156 -99
  209. package/src/class/Setup.mjs +28 -16
  210. package/src/class/Signal.mjs +50 -27
  211. package/src/class/SignalCollection.mjs +130 -0
  212. package/src/class/WalkThrough.mjs +6 -23
  213. package/src/class/{WorkerMainThreadBundled.mjs → WorkerMainThread.bundled.mjs} +56 -77
  214. package/src/class/WorkerMainThread.mjs +98 -94
  215. package/src/class/WorkerThread.mjs +24 -17
  216. package/src/common/Base64URL.mjs +6 -3
  217. package/src/common/Base64URLFromFile.mjs +17 -4
  218. package/src/common/BundledV.bundled.mjs +7 -0
  219. package/src/common/BundledV.mjs +45 -0
  220. package/src/common/CreateStringID.mjs +8 -7
  221. package/src/common/EnvMode.mjs +172 -0
  222. package/src/common/FactoryKey.mjs +11 -0
  223. package/src/common/Preferrence.mjs +27 -0
  224. package/src/common/Trace.mjs +1 -1
  225. package/src/common/TracePath.mjs +53 -3
  226. package/src/common/VivthUnBundledCodeBlock.mjs +8 -0
  227. package/src/doc/JSautoDOC.mjs +673 -284
  228. package/src/doc/cleanPreserveTypedef.mjs +27 -0
  229. package/src/doc/correctBeforeParse.mjs +57 -48
  230. package/src/doc/{parsedFile.mjs → parsedFileForDOC.mjs} +133 -120
  231. package/src/function/ClearRequireCache.mjs +33 -0
  232. package/src/function/CreateImmutable.mjs +40 -37
  233. package/src/function/EventCheck.mjs +5 -2
  234. package/src/function/EventObject.mjs +2 -6
  235. package/src/function/ForInAsync.mjs +76 -0
  236. package/src/function/ForInSync.mjs +87 -0
  237. package/src/function/ForOfAsync.mjs +61 -0
  238. package/src/function/ForOfSync.mjs +70 -0
  239. package/src/function/GetBufferFromRelativePath.mjs +25 -0
  240. package/src/function/GetFilesFromDir.mjs +49 -0
  241. package/src/function/GetMaxFilenameLength.mjs +32 -0
  242. package/src/function/GetModuleEsbuildPlatform.mjs +118 -0
  243. package/src/function/GetNamedImportAlias.mjs +2 -2
  244. package/src/function/GetRuntime.mjs +10 -14
  245. package/src/function/InstantiateAssemblyScript.mjs +22 -0
  246. package/src/function/IsAsync.mjs +1 -1
  247. package/src/function/IsInstanceOf.mjs +29 -0
  248. package/src/function/IsSameFile.mjs +41 -0
  249. package/src/function/IsStringLooksLikeAPath.mjs +20 -0
  250. package/src/function/IsTypeOf.mjs +27 -0
  251. package/src/function/IsTypeOf.mts +31 -0
  252. package/src/function/LazyFactory.mjs +25 -23
  253. package/src/function/MonkeyPatch.mjs +38 -0
  254. package/src/function/NewAnimationTimeline.mjs +55 -0
  255. package/src/function/NewChainable.mjs +69 -0
  256. package/src/function/NewDynamicsExport.mjs +312 -0
  257. package/src/function/NewObjectWrapper.mjs +14 -0
  258. package/src/function/ObjectRegistrar.mjs +23 -0
  259. package/src/function/ParseSQLFile.mjs +129 -0
  260. package/src/function/PipeAsync.mjs +30 -0
  261. package/src/function/PipeSync.mjs +28 -0
  262. package/src/function/SafeImport.mjs +77 -0
  263. package/src/function/TemplateLiteral.mjs +42 -23
  264. package/src/function/Timeout.mjs +4 -4
  265. package/src/function/Tries.mjs +22 -16
  266. package/src/function/TryAsync.mjs +3 -2
  267. package/src/function/TryNew.mjs +1 -1
  268. package/src/function/TsToMjs.mjs +184 -21
  269. package/src/function/UniqueFSTempName.mjs +33 -0
  270. package/src/function/errorToMessage.mjs +21 -0
  271. package/src/function/resolveErrorArray.mjs +15 -1
  272. package/src/neinth/VivthyNeinth.mjs +487 -0
  273. package/src/typehints/ArrayToKeys.mjs +17 -0
  274. package/src/typehints/ArrayToKeys.mts +31 -0
  275. package/src/typehints/AssemblyScriptExportsType.mjs +7 -0
  276. package/src/typehints/AssemblyScriptLoaderInstantiate.mjs +7 -0
  277. package/src/typehints/AutoDocASOptions.mjs +14 -0
  278. package/src/typehints/ChainableType.mjs +11 -0
  279. package/src/typehints/ComponentDecorator_Constructor.mjs +10 -0
  280. package/src/typehints/ConsoleAdditionalSettingType.mjs +6 -0
  281. package/src/typehints/Decorator.mjs +9 -0
  282. package/src/typehints/Decorator.mts +31 -0
  283. package/src/typehints/DecoratorMonkeyPatch.mjs +10 -0
  284. package/src/typehints/DecoratorMonkeyPatch.mts +43 -0
  285. package/src/{types → typehints}/DevTestCB.mjs +2 -2
  286. package/src/typehints/EnvModeType.mjs +6 -0
  287. package/src/{types → typehints}/ListArg.mjs +1 -1
  288. package/src/{types → typehints}/LitExpResultType.mjs +1 -1
  289. package/src/typehints/MonkeyPatchedType.mjs +13 -0
  290. package/src/typehints/ParametersFollowingN.mjs +8 -0
  291. package/src/typehints/ParametersFollowingN.mts +17 -0
  292. package/src/typehints/PrefixedKeysOf.mjs +9 -0
  293. package/src/typehints/Runtime.mjs +6 -0
  294. package/src/typehints/SafeImportReturnType.mjs +6 -0
  295. package/src/typehints/StylePropRefType.mjs +12 -0
  296. package/src/typehints/TemplateLiteralValueHandler.mjs +14 -0
  297. package/src/typehints/VLifecycleCallbacks.mjs +10 -0
  298. package/src/typehints/VivthCleanup.mjs +14 -0
  299. package/src/web/BrowserDirMapper.mjs +255 -0
  300. package/src/web/EnsureValidTag.mjs +5 -0
  301. package/src/web/EnsureValidTag.mts +10 -0
  302. package/src/web/ViteAddDynamics.mjs +34 -0
  303. package/src/web/ViteGetAllHTMLFile.mjs +97 -0
  304. package/src/web/WC_extendsA.mjs +330 -0
  305. package/src/web/WC_extendsB.mjs +332 -0
  306. package/src/web/bindings/WC_StyleProp_bind.mjs +70 -0
  307. package/src/web/bindings/WC_createElement_bind.mjs +95 -0
  308. package/src/web/bindings/WC_createNamedSlot.mjs +29 -0
  309. package/src/web/bindings/WC_litRender_bind.mjs +26 -0
  310. package/src/web/bindings/WC_litStyleMap.mjs +14 -0
  311. package/src/web/common/CSS.mjs +35 -0
  312. package/src/web/common/E.mjs +126 -0
  313. package/src/web/common/NewStyleSheetAsync.mjs +21 -0
  314. package/src/web/common/NewStyleSheetSync.mjs +21 -0
  315. package/src/web/common/WC_TagName_type.mjs +10 -0
  316. package/src/web/common/WC_TagName_type.mts +36 -0
  317. package/src/web/signals/IsInViewPortSignal.mjs +140 -0
  318. package/src/web/signals/ObserverSignal.mjs +93 -0
  319. package/src/web/signals/WC_litRef.mjs +61 -0
  320. package/src/web/signals/WC_loopedSiblingsRef.mjs +100 -0
  321. package/tsconfig.json +44 -41
  322. package/index.mjs +0 -91
  323. package/src/bundler/FSInline.mjs +0 -67
  324. package/src/bundler/FSInlineAnalyzer.mjs +0 -228
  325. package/src/bundler/FSInlineBundled.mjs +0 -38
  326. package/src/bundler/adds/externals.mjs +0 -8
  327. package/src/class/ListDerived.mjs +0 -42
  328. package/src/common/Dev.mjs +0 -142
  329. package/src/common/DevBundled.mjs +0 -5
  330. package/src/common/lazie.mjs +0 -3
  331. package/src/types/IsListSignal.mjs +0 -6
  332. package/src/types/Runtime.mjs +0 -6
  333. package/src/types/VivthDevCodeBlockStringType.mjs +0 -6
  334. package/types/index.d.mts +0 -58
  335. package/types/src/bundler/CompileJS.d.mts +0 -119
  336. package/types/src/bundler/FSInline.d.mts +0 -50
  337. package/types/src/bundler/FSInlineAnalyzer.d.mts +0 -37
  338. package/types/src/bundler/FSInlineBundled.d.mts +0 -22
  339. package/types/src/bundler/adds/externals.d.mts +0 -1
  340. package/types/src/class/Console.d.mts +0 -71
  341. package/types/src/class/Derived.d.mts +0 -98
  342. package/types/src/class/Effect.d.mts +0 -216
  343. package/types/src/class/ListDerived.d.mts +0 -38
  344. package/types/src/class/Paths.d.mts +0 -69
  345. package/types/src/class/SafeExit.d.mts +0 -103
  346. package/types/src/class/WorkerMainThreadBundled.d.mts +0 -83
  347. package/types/src/common/Base64URLFromFile.d.mts +0 -16
  348. package/types/src/common/Dev.d.mts +0 -68
  349. package/types/src/common/DevBundled.d.mts +0 -3
  350. package/types/src/common/lazie.d.mts +0 -1
  351. package/types/src/doc/JSautoDOC.d.mts +0 -83
  352. package/types/src/function/GetRuntime.d.mts +0 -2
  353. package/types/src/function/TemplateLiteral.d.mts +0 -22
  354. package/types/src/function/TsToMjs.d.mts +0 -23
  355. package/types/src/types/IsListSignal.d.mts +0 -4
  356. package/types/src/types/ListArg.d.mts +0 -4
  357. package/types/src/types/Runtime.d.mts +0 -4
  358. package/types/src/types/VivthDevCodeBlockStringType.d.mts +0 -4
  359. /package/{types → generated/types}/src/bundler/adds/pluginVivthBundle.d.mts +0 -0
  360. /package/{types → generated/types}/src/class/WorkerResult.d.mts +0 -0
  361. /package/{types → generated/types}/src/common/EventNameSpace.d.mts +0 -0
  362. /package/{types → generated/types}/src/common/eventObjects.d.mts +0 -0
  363. /package/{types → generated/types}/src/common/keys.d.mts +0 -0
  364. /package/{types → generated/types}/src/doc/correctBeforeParse.d.mts +0 -0
  365. /package/{types → generated/types}/src/function/TrySync.d.mts +0 -0
  366. /package/{types → generated/types}/src/function/resolveErrorArray.d.mts +0 -0
  367. /package/{types/src/types → generated/types/src/typehints}/AnyButUndefined.d.mts +0 -0
  368. /package/{types/src/types → generated/types/src/typehints}/ExtnameType.d.mts +0 -0
  369. /package/{types/src/types → generated/types/src/typehints}/LitExpKeyType.d.mts +0 -0
  370. /package/{types/src/types → generated/types/src/typehints}/LitExpResultType.d.mts +0 -0
  371. /package/{types/src/types → generated/types/src/typehints}/MutationType.d.mts +0 -0
  372. /package/{types/src/types → generated/types/src/typehints}/QCBFIFOReturn.d.mts +0 -0
  373. /package/{types/src/types → generated/types/src/typehints}/QCBReturn.d.mts +0 -0
  374. /package/src/{types → typehints}/AnyButUndefined.mjs +0 -0
  375. /package/src/{types → typehints}/ExtnameType.mjs +0 -0
  376. /package/src/{types → typehints}/LitExpKeyType.mjs +0 -0
  377. /package/src/{types → typehints}/MutationType.mjs +0 -0
  378. /package/src/{types → typehints}/QCBFIFOReturn.mjs +0 -0
  379. /package/src/{types → typehints}/QCBReturn.mjs +0 -0
@@ -0,0 +1,172 @@
1
+ export const multiExportEntryPointsPath: "./generated/vivth/exports/";
2
+ /**
3
+ * @typedef {import('../typehints/VivthCleanup.mjs').VivthCleanup} VivthCleanup
4
+ */
5
+ /**
6
+ * @description
7
+ * - class for auto documenting mjs package/project, using jsdoc;
8
+ * - this autodocumenter uses [chokidar](https://npmjs.com/package/chokidar) under the hood;
9
+ * - this class also is used to generate this `README.md`;
10
+ * - behaviours:
11
+ * >- auto export must follows the following rules;
12
+ * >1) add `"at"noautodoc` on self closing jsdoc comment to opt out from generating documentation on said file;
13
+ * >2) will (generate) export all named exported 'const'|'function'|'async function'|'class', alphanumeric name, started with Capital letter, same name with fileName on `options.paths.file`;
14
+ * >3) will (generate) declare typedef of existing typedef with alphanumeric name, started with Capital letter, same name with fileName, and have no valid export like on point <sup>1</sup> on `options.paths.file`;
15
+ * >4) will (generate) create `README.md` based on, `options.paths.dir` and `README.src.md`;
16
+ * >5) extract `"at"description` jsdoc:
17
+ * >>- on static/prop that have depths, all of children should have `"at"static`/`"at"instance` `nameOfImmediateParent`, same block but before `"at"description` comment line;
18
+ * >>- `"at"description` are treated as plain `markdown`;
19
+ * >>- first `"at"${string}` after `"at"description` until `"at"example` will be treated as `javascript` comment block on the `markdown`;
20
+ * >>- `"at"example` are treated as `javascript` block on the `markdown` file, and should be placed last on the same comment block;
21
+ * >>- you can always look at `vivth/src` files to check how the source, and the `README.md` and `index.mjs` documentation/generation results;
22
+ * >6) this types of arrow functions will be converted to regullar function, for concise type emition, includes:
23
+ * >>- validly exported function;
24
+ * >>- static/instance method with generic template;
25
+ * >7) transpile `.ts` and `.mts` to `.mjs` with same name and directory;
26
+ * >>- use `"at"preserve` to preserve tsdoc comment section;
27
+ * >8) integrated with assembly script to wasm compiler on the doc;
28
+ * >>- see [AssemblyScript](#assemblyscript);
29
+ * >9) modify following root json files:
30
+ * >>- `package.json`: assign `exports`, `main`, `module`;
31
+ * >>- `tsconfig.json`: assign `includes`, anything passed on `options.jstsconfigs`;
32
+ * >>- `jsconfig.json`: assign `includes`, anything passed on `options.jstsconfigs`;
33
+ * >10) generates files to `/generated/vivth/exports/`:
34
+ * >>- `./browser.mjs`: able to be called on `browser` platform;
35
+ * >>- `./node.mjs`: able to be called on `node` platform;
36
+ * >>- `./neutral.mjs`: able to be called on `node` and `browser` platform;
37
+ * >>- `./unsupported.mjs`: most likely will throw error when called, it is more of a logged error to be managed;
38
+ * >>- `./all.mjs`: collections of all platform;
39
+ * >11) doesn't support accessor;
40
+ * >>- due to how TLS way accessor type not casting its getter and setter working around accessor requires ignoring this specific error, and it might become ugly real quick;
41
+ * >>- we recomend to stick with getter and setter;
42
+ * - for runtime example see file `/dev/auto-doc.mjs` on source code;
43
+ * @implements {VivthCleanup}
44
+ */
45
+ export class JSautoDOC implements VivthCleanup {
46
+ /**
47
+ * @typedef {'readme' |
48
+ * 'handledJS'
49
+ * } returnTypeStringType
50
+ */
51
+ /**
52
+ * @typedef {FSDirArchWatcher<{
53
+ * path: string;
54
+ * parsed: undefined;
55
+ * ext: `.${string}`;
56
+ * type: returnTypeStringType;
57
+ * readme?:string;
58
+ * } | {
59
+ * path: string;
60
+ * parsed: parsedFileForDOC;
61
+ * ext: string;
62
+ * type: returnTypeStringType;
63
+ * readme?:string;
64
+ * }>} FSDirArchWatcher__
65
+ */
66
+ /**
67
+ * @type {JSautoDOC|undefined}
68
+ */
69
+ static #instance: JSautoDOC | undefined;
70
+ /**
71
+ * @description
72
+ * @param {Object} options
73
+ * @param {string} options.src
74
+ * - source directory;
75
+ * @param {string} [options.copyright]
76
+ * @param {string} [options.tableOfContentTitle]
77
+ * @param {number} [options.maxDebounceForGeneratingDocAndExport]
78
+ * - default `10_000`;
79
+ * @param {import('chokidar').ChokidarOptions} [options.chokidarOptions]
80
+ * - ChokidarOptions;
81
+ * @param {import('../typehints/AutoDocASOptions.mjs').AutoDocASOptions} [options.assemblyScriptOptions]
82
+ * - abstracted details to handle `.as.ts` file;
83
+ * @param {(arg0:{map:Map<string, {
84
+ * path: string;
85
+ * parsed: undefined;
86
+ * ext: `.${string}`;
87
+ * type: returnTypeStringType;
88
+ * readme?:string;
89
+ * } | {
90
+ * path: string;
91
+ * parsed: parsedFileForDOC;
92
+ * ext: string;
93
+ * type: returnTypeStringType;
94
+ * readme?:string;
95
+ * }>})=>Promise<void>} [options.onLastGeneratedCallback]
96
+ * - callback to be run on finishing generating document AND exports;
97
+ * - only handle that marked as `isLastCalled`;
98
+ * @param { import('typescript').CompilerOptions |
99
+ * import('typescript').ParsedCommandLine
100
+ * } [options.jstsconfigs]
101
+ * - type of `ts/jsconfig` to be assigned to existing respective `.json` file;
102
+ * @example
103
+ * import { JSautoDOC } from 'vivth/node';
104
+ *
105
+ * new JSautoDOC({
106
+ * src: '/src',
107
+ * copyright: 'this library is made and distributed under MIT license;',
108
+ * tableOfContentTitle: 'list of exported API and typehelpers',
109
+ * // assemblyScriptOptions: {},
110
+ * // onLastGeneratedCallback: async (options) => {
111
+ * // Console.log(options);
112
+ * // },
113
+ * });
114
+ */
115
+ constructor({ src, onLastGeneratedCallback, tableOfContentTitle, copyright, maxDebounceForGeneratingDocAndExport, assemblyScriptOptions, chokidarOptions, jstsconfigs, }: {
116
+ src: string;
117
+ copyright?: string | undefined;
118
+ tableOfContentTitle?: string | undefined;
119
+ maxDebounceForGeneratingDocAndExport?: number | undefined;
120
+ chokidarOptions?: Partial<{
121
+ persistent: boolean;
122
+ ignoreInitial: boolean;
123
+ followSymlinks: boolean;
124
+ cwd?: string;
125
+ usePolling: boolean;
126
+ interval: number;
127
+ binaryInterval: number;
128
+ alwaysStat?: boolean;
129
+ depth?: number;
130
+ ignorePermissionErrors: boolean;
131
+ atomic: boolean | number;
132
+ } & {
133
+ ignored: import("chokidar").Matcher | import("chokidar").Matcher[];
134
+ awaitWriteFinish: boolean | Partial<import("chokidar").AWF>;
135
+ }> | undefined;
136
+ assemblyScriptOptions?: import("../typehints/AutoDocASOptions.mjs").AutoDocASOptions | undefined;
137
+ onLastGeneratedCallback?: ((arg0: {
138
+ map: Map<string, {
139
+ path: string;
140
+ parsed: undefined;
141
+ ext: `.${string}`;
142
+ type: "readme" | "handledJS";
143
+ readme?: string;
144
+ } | {
145
+ path: string;
146
+ parsed: parsedFileForDOC;
147
+ ext: string;
148
+ type: "readme" | "handledJS";
149
+ readme?: string;
150
+ }>;
151
+ }) => Promise<void>) | undefined;
152
+ jstsconfigs?: import("typescript").CompilerOptions | import("typescript").ParsedCommandLine | undefined;
153
+ });
154
+ vivthCleanup: () => Promise<void>;
155
+ /**
156
+ * @type { FSDirArchWatcher<any>|undefined }
157
+ */
158
+ watcher: FSDirArchWatcher<any> | undefined;
159
+ /**
160
+ * @param {string} path
161
+ * @returns {Promise<{isBeingHandled:boolean, content?: string}>}
162
+ * - is being handled;
163
+ */
164
+ checkReadmeFile: (path: string) => Promise<{
165
+ isBeingHandled: boolean;
166
+ content?: string;
167
+ }>;
168
+ #private;
169
+ }
170
+ export type VivthCleanup = import("../typehints/VivthCleanup.mjs").VivthCleanup;
171
+ import { FSDirArchWatcher } from '../class/FSDirArchWatcher.mjs';
172
+ import { parsedFileForDOC } from './parsedFileForDOC.mjs';
@@ -0,0 +1 @@
1
+ export function cleanPreserveTypedef(sourceCode: string): string | false;
@@ -1,9 +1,9 @@
1
- export class parsedFile {
1
+ export class parsedFileForDOC {
2
2
  /**
3
3
  * @param {string} exportName
4
4
  * @returns {boolean}
5
5
  */
6
- static "__#private@#isExportNameValid": (exportName: string) => boolean;
6
+ static #isExportNameValid: (exportName: string) => boolean;
7
7
  /**
8
8
  * @param {string} content
9
9
  * @returns { RegExpExecArray[] }
@@ -21,13 +21,25 @@ export class parsedFile {
21
21
  * }} refType
22
22
  */
23
23
  /**
24
- * @param {string} path__
25
- * @param {import('fs').Stats} _stats
24
+ * @param {string} path
25
+ * - `relative`(to `Paths.root`) OR `absolute`, both are accepted;
26
+ * @param {import('fs').Stats} [stats]
26
27
  * @param {BufferEncoding} [encoding]
27
28
  */
28
- constructor(path__: string, _stats: import("fs").Stats, encoding?: BufferEncoding);
29
+ constructor(path: string, stats?: import("fs").Stats, encoding?: BufferEncoding);
30
+ /**
31
+ * @type {Promise<"browser" | "node" | "neutral" | "unsupported">}
32
+ */
33
+ platform: Promise<"browser" | "node" | "neutral" | "unsupported">;
29
34
  parse: () => Promise<void>;
30
35
  documented: {
36
+ /**
37
+ *
38
+ * @returns {Promise<{
39
+ * module: string;
40
+ * readme: string;
41
+ * } | undefined>}
42
+ */
31
43
  typedef: () => Promise<{
32
44
  module: string;
33
45
  readme: string;
@@ -51,7 +63,14 @@ export class parsedFile {
51
63
  reference: string;
52
64
  }>;
53
65
  } & {
54
- "vivth:unwrapLazy;": () => {
66
+ [x: symbol]: {
67
+ /**
68
+ *
69
+ * @returns {Promise<{
70
+ * module: string;
71
+ * readme: string;
72
+ * } | undefined>}
73
+ */
55
74
  typedef: () => Promise<{
56
75
  module: string;
57
76
  readme: string;
@@ -85,32 +104,32 @@ export class parsedFile {
85
104
  };
86
105
  hasValidExportObject: boolean;
87
106
  /**
88
- * @returns {Promise<boolean>}
107
+ * @returns {boolean|undefined}
89
108
  */
90
- isFile: () => Promise<boolean>;
109
+ get isFile(): boolean | undefined;
91
110
  /**
92
- * @returns {Promise<boolean>}
111
+ * @returns {boolean|undefined}
93
112
  */
94
- isDirectory: () => Promise<boolean>;
113
+ get isDirectory(): boolean | undefined;
95
114
  baseName: {
96
115
  /**
97
116
  * @returns {string}
98
117
  */
99
- readonly withExt: string;
118
+ withExt: string;
100
119
  /**
101
120
  * @returns {string}
102
121
  */
103
- readonly noExt: string;
122
+ noExt: string;
104
123
  } & {
105
- "vivth:unwrapLazy;": () => {
124
+ [x: symbol]: {
106
125
  /**
107
126
  * @returns {string}
108
127
  */
109
- readonly withExt: string;
128
+ withExt: string;
110
129
  /**
111
130
  * @returns {string}
112
131
  */
113
- readonly noExt: string;
132
+ noExt: string;
114
133
  };
115
134
  };
116
135
  path: {
@@ -123,7 +142,7 @@ export class parsedFile {
123
142
  */
124
143
  readonly full: string;
125
144
  } & {
126
- "vivth:unwrapLazy;": () => {
145
+ [x: symbol]: {
127
146
  /**
128
147
  * @returns {string}
129
148
  */
@@ -138,37 +157,42 @@ export class parsedFile {
138
157
  /**
139
158
  * @returns {string}
140
159
  */
141
- readonly relative: string;
160
+ relative: string;
142
161
  /**
143
162
  * @returns {string}
144
163
  */
145
- readonly full: string;
164
+ full: string;
146
165
  };
147
166
  get ext(): {
148
167
  /**
149
168
  * @returns {string|undefined}
150
169
  */
151
- readonly withDot: string | undefined;
170
+ withDot: string;
152
171
  /**
153
172
  * @returns {string|undefined}
154
173
  */
155
- readonly noDot: string | undefined;
174
+ noDot: string;
156
175
  };
157
176
  get timeStamp(): {
158
177
  /**
159
- * @returns {Promise<number>}
178
+ * @returns {Promise<number|undefined>}
160
179
  */
161
- lastModified: () => Promise<number>;
180
+ lastModified: () => Promise<number | undefined>;
162
181
  /**
163
- * @returns {Promise<number>}
182
+ * @returns {Promise<number|undefined>}
164
183
  */
165
- createdAt: () => Promise<number>;
184
+ createdAt: () => Promise<number | undefined>;
166
185
  };
167
186
  content: {
168
187
  /**
169
188
  * @return {Promise<string|undefined>}
170
189
  */
171
190
  string: () => Promise<string | undefined>;
191
+ /**
192
+ *
193
+ * @returns {Promise<{exportName:undefined, details:undefined, error:{fullpath:string, message:string}}|
194
+ * {exportName:string|undefined, details:ReturnType<typeof parsedFileForDOC["getDescription"]>, error:undefined}>}
195
+ */
172
196
  parsed: () => Promise<{
173
197
  exportName: undefined;
174
198
  details: undefined;
@@ -178,15 +202,20 @@ export class parsedFile {
178
202
  };
179
203
  } | {
180
204
  exportName: string | undefined;
181
- details: ReturnType<(typeof parsedFile)["getDescription"]>;
205
+ details: ReturnType<(typeof parsedFileForDOC)["getDescription"]>;
182
206
  error: undefined;
183
207
  }>;
184
208
  } & {
185
- "vivth:unwrapLazy;": () => {
209
+ [x: symbol]: {
186
210
  /**
187
211
  * @return {Promise<string|undefined>}
188
212
  */
189
213
  string: () => Promise<string | undefined>;
214
+ /**
215
+ *
216
+ * @returns {Promise<{exportName:undefined, details:undefined, error:{fullpath:string, message:string}}|
217
+ * {exportName:string|undefined, details:ReturnType<typeof parsedFileForDOC["getDescription"]>, error:undefined}>}
218
+ */
190
219
  parsed: () => Promise<{
191
220
  exportName: undefined;
192
221
  details: undefined;
@@ -196,7 +225,7 @@ export class parsedFile {
196
225
  };
197
226
  } | {
198
227
  exportName: string | undefined;
199
- details: ReturnType<(typeof parsedFile)["getDescription"]>;
228
+ details: ReturnType<(typeof parsedFileForDOC)["getDescription"]>;
200
229
  error: undefined;
201
230
  }>;
202
231
  };
@@ -0,0 +1 @@
1
+ export function ClearRequireCache(path: string): void;
@@ -10,13 +10,13 @@
10
10
  * @param {(this:PARENT)=>OBJECT} object
11
11
  * @param {Object} [options]
12
12
  * @param {boolean} [options.lazy]
13
- * @return {OBJECT}
13
+ * @return {ReturnType<typeof TrySync<OBJECT>>}
14
14
  * @example
15
- * import { CreateImmutable } from 'vivth';
15
+ * import { CreateImmutable } from 'vivth/neutral';
16
16
  *
17
17
  * const mappedObject = new Map();
18
18
  *
19
- * CreateImmutable(window, 'mySharedObject', {
19
+ * const [object, errorCreatingImmutable] = CreateImmutable(window, 'mySharedObject', {
20
20
  * setMap(name_, value) => {
21
21
  * mappedObject.set(name_, value)
22
22
  * },
@@ -25,4 +25,5 @@
25
25
  */
26
26
  export function CreateImmutable<PARENT extends Object, OBJECT extends Object>(parent: PARENT, keyName: string, object: (this: PARENT) => OBJECT, { lazy }?: {
27
27
  lazy?: boolean | undefined;
28
- }): OBJECT;
28
+ }): ReturnType<typeof TrySync<OBJECT>>;
29
+ import { TrySync } from './TrySync.mjs';
@@ -5,10 +5,12 @@
5
5
  * @param {Record<typeof EventNameSpace, string>} eventObject
6
6
  * @returns {boolean}
7
7
  * @example
8
- * import { EventCheck } from 'vivth';
8
+ * import { EventCheck } from 'vivth/neutral';
9
9
  * import { incomingMessage } from './some/where.mjs';
10
10
  *
11
11
  * const eventObjectPayload = EventObject('worker:exit');
12
+ *
13
+ * console.log(EventCheck(incomingMessage, eventObjectPayload));
12
14
  * // assuming `incomingMessage`, also created using EventObject('worker:exit');
13
15
  * // or manually {[EventNameSpace]:'worker:exit'};
14
16
  * // which either will result true;
@@ -5,13 +5,9 @@
5
5
  * @param {NAME} name
6
6
  * @returns {{[EventNameSpace]: NAME}}
7
7
  * @example
8
- * import { EventCheck } from 'vivth';
9
- * import { incomingMessage } from './some/where.mjs';
8
+ * import { EventObject } from 'vivth/neutral';
10
9
  *
11
- * const eventObjectPayload = EventObject('worker:exit');
12
- * // assuming `incomingMessage`, also created using EventObject('worker:exit');
13
- * // or manually {[EventNameSpace]:'worker:exit'};
14
- * // which either will result true;
10
+ * export const eventObjectPayload = EventObject('worker:exit');
15
11
  */
16
12
  export function EventObject<NAME extends string>(name: NAME): {
17
13
  [EventNameSpace]: NAME;
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @description
3
+ * - safe `Object` async iterator helper;
4
+ * >- collect errors then returns it as Set<Error>;
5
+ * @template {Record<string|number|symbol, any>} OBJECT
6
+ * @template {any} RETURNTYPE
7
+ * @param {OBJECT} object
8
+ * @param {(
9
+ * key:keyof OBJECT,
10
+ * value:OBJECT[keyof OBJECT],
11
+ * options:{
12
+ * prevError:Error|undefined,
13
+ * breakEarly:()=>void,
14
+ * },
15
+ * )=>Promise<RETURNTYPE|undefined>} handlerCallback
16
+ * - when `breakEarly` is called, the loop will break at the begining of the next iteration;
17
+ * - typehint according to your js flavor, so the function make setOfResult typed;
18
+ * @returns {Promise<[Set<RETURNTYPE>, Set<Error>]>}
19
+ * @example
20
+ * import { ForInAsync } from 'vivth/neutral';
21
+ *
22
+ * const object = { A: 'a', B: 'b' };
23
+ * const setOfError = await ForInAsync(
24
+ * object,
25
+ * async (key, value, { prevError, breakEarly }) => {
26
+ * // if(prevError) {
27
+ * // breakEarly(); // imperative break;
28
+ * // return; // undefined return will not be added to result;
29
+ * // }
30
+ * }
31
+ * );
32
+ */
33
+ export function ForInAsync<OBJECT extends Record<string | number | symbol, any>, RETURNTYPE extends unknown>(object: OBJECT, handlerCallback: (key: keyof OBJECT, value: OBJECT[keyof OBJECT], options: {
34
+ prevError: Error | undefined;
35
+ breakEarly: () => void;
36
+ }) => Promise<RETURNTYPE | undefined>): Promise<[Set<RETURNTYPE>, Set<Error>]>;
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @description
3
+ * - safe `Object` iterator helper;
4
+ * >- collect errors then returns it as Set<Error>;
5
+ * @template {Record<string|number|symbol, any>} OBJECT
6
+ * @template {any} RETURNTYPE
7
+ * @param {OBJECT} object
8
+ * @param {(
9
+ * key:keyof OBJECT,
10
+ * value:OBJECT[keyof OBJECT],
11
+ * options:{
12
+ * prevError:Error|undefined,
13
+ * breakEarly:()=>void,
14
+ * },
15
+ * )=>RETURNTYPE|undefined} handlerCallback
16
+ * - when `breakEarly` is called, the loop will break at the begining of the next iteration;
17
+ * - typehint according to your js flavor, so the function make setOfResult typed;
18
+ * @returns {[Set<RETURNTYPE>, Set<Error>]}
19
+ * @example
20
+ * import { ForInSync } from 'vivth/neutral';
21
+ *
22
+ * const object = { A: 'a', B: 'b' };
23
+ * const [setOfResult , setOfError] = ForInSync(
24
+ * object,
25
+ * (key, value, { prevError, breakEarly }) => {
26
+ * // if(prevError) {
27
+ * // breakEarly(); // imperative break;
28
+ * // return; // undefined return will not be added to result;
29
+ * // }
30
+ * }
31
+ * );
32
+ */
33
+ export function ForInSync<OBJECT extends Record<string | number | symbol, any>, RETURNTYPE extends unknown>(object: OBJECT, handlerCallback: (key: keyof OBJECT, value: OBJECT[keyof OBJECT], options: {
34
+ prevError: Error | undefined;
35
+ breakEarly: () => void;
36
+ }) => RETURNTYPE | undefined): [Set<RETURNTYPE>, Set<Error>];
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @description
3
+ * - loop through iterable safely;
4
+ * @template {any} T
5
+ * @template {any} RETURNTYPE
6
+ * @param {Iterable<T>} iterable
7
+ * @param {(value: T,
8
+ * options:{
9
+ * prevError:Error|undefined,
10
+ * breakEarly:()=>void,
11
+ * }) => Promise<RETURNTYPE|undefined>} handlerCallback
12
+ * - when `breakEarly` is called, the loop will break at the begining of the next iteration;
13
+ * - typehint according to your js flavor, so the function make setOfResult typed;
14
+ * @returns {Promise<[Set<RETURNTYPE>, Set<Error>]>}
15
+ * @example
16
+ * import { ForOfAsync } from 'vivth/neutral';
17
+ *
18
+ * await ForOfAsync(iterable, async(value, { prevError, breakEarly })=>{
19
+ * // code
20
+ * })
21
+ */
22
+ export function ForOfAsync<T extends unknown, RETURNTYPE extends unknown>(iterable: Iterable<T>, handlerCallback: (value: T, options: {
23
+ prevError: Error | undefined;
24
+ breakEarly: () => void;
25
+ }) => Promise<RETURNTYPE | undefined>): Promise<[Set<RETURNTYPE>, Set<Error>]>;
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @description
3
+ * - loop through iterable safely;
4
+ * @template {any} T
5
+ * @template {any} RETURNTYPE
6
+ * @param {Iterable<T>} iterable
7
+ * @param {(value: T,
8
+ * options:{
9
+ * prevError:Error|undefined,
10
+ * breakEarly:()=>void,
11
+ * }) => RETURNTYPE|undefined} handlerCallback
12
+ * - when `breakEarly` is called, the loop will break at the begining of the next iteration;
13
+ * - typehint according to your js flavor, so the function make setOfResult typed;
14
+ * @returns {[Set<RETURNTYPE>, Set<Error>]}
15
+ * @example
16
+ * import { ForOfSync, TryAsync } from 'vivth/neutral';
17
+ *
18
+ * ForOfSync(iterable, (value, { prevError, breakEarly })=>{
19
+ * // code
20
+ * });
21
+ *
22
+ * await Promise.all(ForOfSync([
23
+ * async()=>{
24
+ * // code to run pararelly
25
+ * },
26
+ * async()=>{
27
+ * // code to run pararelly
28
+ * },
29
+ * ], async(cb)=>{
30
+ * return await cb();
31
+ * })[0])
32
+ */
33
+ export function ForOfSync<T extends unknown, RETURNTYPE extends unknown>(iterable: Iterable<T>, handlerCallback: (value: T, options: {
34
+ prevError: Error | undefined;
35
+ breakEarly: () => void;
36
+ }) => RETURNTYPE | undefined): [Set<RETURNTYPE>, Set<Error>];
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @description
3
+ * - get content from relativePath;
4
+ * - only usefull to unbundled environtment;
5
+ * - if your goal is to include on the `.asar`, use [FSasar](#fsasar) instead;
6
+ * @param {string} relativePath
7
+ * - relative path from the caller;
8
+ * @returns {ReturnType<typeof FSasar.file>}
9
+ * @example
10
+ * import { GetContentFromRelativePath } from 'vivth/node';
11
+ *
12
+ * await GetContentFromRelativePath('../doc/parsedFile.mjs', 'utf-8');
13
+ */
14
+ export function GetBufferFromRelativePath(relativePath: string): ReturnType<typeof FSasar.file>;
15
+ import { FSasar } from '../bundler/FSasar.mjs';
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @description
3
+ * - helper function to get file from dir;
4
+ * @param {string} dirAbsolutePath
5
+ * @param {RegExp} pathRule
6
+ * @param {Set<string>} [fileNames]
7
+ * - fill manually to imediately add result to existing `Set` without expecting return;
8
+ * @returns {Promise<Set<string>>}
9
+ * @example
10
+ * import { GetFilesFromDir } from 'vivth/node';
11
+ *
12
+ * const files = await GetFilesFromDir(join(Paths.root, '/dev/'), /[\s\S]\*[noblank]/); // without \[noblank]
13
+ */
14
+ export function GetFilesFromDir(dirAbsolutePath: string, pathRule: RegExp, fileNames?: Set<string>): Promise<Set<string>>;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @description
3
+ * - Get OS-specific max filename length;
4
+ * - On POSIX: fs.constants.NAME_MAX;
5
+ * - On Windows: 255 (per component, unless long paths enabled);
6
+ * - used internally to validate name length for [`UniqueFSTempName`](#uniquefstempname);
7
+ * @returns {number}
8
+ */
9
+ export function GetMaxFilenameLength(): number;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @description
3
+ * - get valid esbuild platform name for a module path;
4
+ * @param { string } path
5
+ * @returns { Promise<'browser'|'node'|'neutral'|'unsupported'> }
6
+ * @example
7
+ * // D://lib-root/myModule.mjs
8
+ * import process from 'node:process'; // lookupA;
9
+ * import { GetModuleEsbuildPlatform } from "vivth/node";
10
+ *
11
+ * await GetModuleEsbuildPlatform('./myModule.mjs'); // 'node'; caused of lookupA;
12
+ */
13
+ export function GetModuleEsbuildPlatform(path: string): Promise<"browser" | "node" | "neutral" | "unsupported">;
@@ -8,7 +8,7 @@
8
8
  * @param {string} packageName
9
9
  * @returns {string|undefined}
10
10
  * @example
11
- * import { GetNamedImportAlias } from 'vivth';
11
+ * import { GetNamedImportAlias } from 'vivth/neutral';
12
12
  *
13
13
  * const checkNoAlias = `
14
14
  * import { something } from 'packageName';
@@ -0,0 +1,2 @@
1
+ export function GetRuntime(): Runtime;
2
+ export type Runtime = import("../typehints/Runtime.mjs").Runtime;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @description
3
+ * - function wrapper for `.asar` `.wasm` from `AssemblyScript` asset;
4
+ * - conventions for using this class in conjuction with `JSautoDOC`:
5
+ * @template {Record<string, unknown>} RESULTTYPE
6
+ * @param {import('../bundler/adds/PathFSFile.mjs').PathFSFile} filePathFromProject
7
+ * - call `PathFSFile.vivthFile`;
8
+ * @param {Parameters<import('../typehints/AssemblyScriptLoaderInstantiate.mjs').AssemblyScriptLoaderInstantiate<RESULTTYPE>>[1]} [imports]
9
+ * @returns {Promise<import('../typehints/AssemblyScriptExportsType.mjs').AssemblyScriptExportsType<RESULTTYPE>>}
10
+ * @example
11
+ * import { PathFSFile, InstantiateAssemblyScript } from 'vivth/node';
12
+ *
13
+ * InstantiateAssemblyScript(PathFSFile.vivthFile('../function/myAsm.wasm'));;
14
+ */
15
+ export function InstantiateAssemblyScript<RESULTTYPE extends Record<string, unknown>>(filePathFromProject: import("../bundler/adds/PathFSFile.mjs").PathFSFile, imports?: Parameters<import("../typehints/AssemblyScriptLoaderInstantiate.mjs").AssemblyScriptLoaderInstantiate<RESULTTYPE>>[1]): Promise<import("../typehints/AssemblyScriptExportsType.mjs").AssemblyScriptExportsType<RESULTTYPE>>;
@@ -4,7 +4,7 @@
4
4
  * @param {(...any:any)=>(any|Promise<any>)} functionReference
5
5
  * @returns {boolean}
6
6
  * @example
7
- * import { IsAsync } from 'vivth';
7
+ * import { IsAsync } from 'vivth/neutral';
8
8
  *
9
9
  * const a = function (params) {
10
10
  * // code