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,93 @@
1
+ // @ts-check
2
+
3
+ import { Console } from '../../class/Console.mjs';
4
+ import { Signal } from '../../class/Signal.mjs';
5
+ /**
6
+ * @import {ParametersFollowingN} from '../../typehints/ParametersFollowingN.mts'
7
+ */
8
+
9
+ /**
10
+ * @typedef {import('../../typehints/VivthCleanup.mjs').VivthCleanup} VivthCleanup
11
+ */
12
+
13
+ /**
14
+ * @description
15
+ * - helper to create lazy `MutationObserver`;
16
+ * - use in tandem with `WC_extends`;
17
+ * @implements {VivthCleanup}
18
+ * @extends {Signal<MutationRecord[]|undefined>}
19
+ */
20
+ export class ObserverSignal extends Signal {
21
+ /**
22
+ * @description
23
+ * @override
24
+ * - cleanup callback;
25
+ */
26
+ vivthCleanup = async () => {
27
+ this.unobserve();
28
+ };
29
+ /**
30
+ * @param { MutationRecord[] | undefined} mutationRecords
31
+ */
32
+ #modifySuperValue(mutationRecords) {
33
+ super.value = mutationRecords;
34
+ }
35
+ /**
36
+ * @description
37
+ * @param {Node} node
38
+ * @param {ParametersFollowingN<
39
+ * MutationObserver["observe"],1
40
+ * >} mutationObserverInitArgs
41
+ * - no default value;
42
+ */
43
+ constructor(node, ...mutationObserverInitArgs) {
44
+ super(undefined);
45
+ this.#node = node;
46
+ this.#observer = new MutationObserver(this.#recordHandler);
47
+ this.#observer.observe(node, ...mutationObserverInitArgs);
48
+ }
49
+ /**
50
+ * @type {Node}
51
+ */
52
+ #node;
53
+ /**
54
+ * @type {MutationObserver|undefined}
55
+ */
56
+ #observer;
57
+ /**
58
+ * @type {MutationCallback}
59
+ */
60
+ #recordHandler(mutationRecords) {
61
+ super.value = mutationRecords;
62
+ }
63
+ /**
64
+ * @override
65
+ */
66
+ set value(_) {
67
+ Console.error({ node: this.#node, message: 'you cannot manually set ObserverSignal value' });
68
+ }
69
+ /**
70
+ * @description
71
+ * @override
72
+ */
73
+ get value() {
74
+ return super.value;
75
+ }
76
+ /**
77
+ * @description
78
+ * - unobserve element;
79
+ */
80
+ unobserve = () => {
81
+ const mutationRecords = this.#observer?.takeRecords();
82
+ this.#observer?.disconnect();
83
+ this.#observer = undefined;
84
+ this.subscribers.notify(
85
+ async () => {
86
+ this.#modifySuperValue(mutationRecords);
87
+ },
88
+ async () => {
89
+ this.remove.ref();
90
+ },
91
+ );
92
+ };
93
+ }
@@ -0,0 +1,61 @@
1
+ // @ts-check
2
+
3
+ import { createRef, ref } from 'lit-html/directives/ref.js';
4
+
5
+ import { Signal } from '../../class/Signal.mjs';
6
+ import { Console } from '../../class/Console.mjs';
7
+ import { Timeout } from '../../function/Timeout.mjs';
8
+
9
+ /**
10
+ * @import {Ref, RefDirective,} from 'lit-html/directives/ref.js'
11
+ * @import {DirectiveResult} from 'lit-html/directive.js'
12
+ */
13
+
14
+ /**
15
+ * @description
16
+ * - signal to get element reference on lit render;
17
+ * - warning, this class relies on creating macro task to trick lit-html render ref to get the `Element` reference, it might not be too accurate;
18
+ * @template {Element} EL
19
+ * @extends {Signal<EL|undefined>}
20
+ */
21
+ export class WC_litRef extends Signal {
22
+ /**
23
+ * @description
24
+ */
25
+ constructor() {
26
+ super(undefined);
27
+ }
28
+ /**
29
+ * @type {Ref<EL>}
30
+ */
31
+ #createdRef = createRef();
32
+ /**
33
+ * @returns {DirectiveResult<typeof RefDirective>}
34
+ */
35
+ get ref() {
36
+ const directiveResultRef = ref(this.#createdRef);
37
+ directiveResultRef;
38
+ Timeout(0).then(() => {
39
+ /** macro task to let lit finish attaching `.value` to object */
40
+ super.value = this.#createdRef.value;
41
+ });
42
+ return directiveResultRef;
43
+ }
44
+ onDisconnected = () => {
45
+ this.vivthCleanup();
46
+ };
47
+ /**
48
+ * @override
49
+ * @returns {EL|undefined}
50
+ */
51
+ get value() {
52
+ return super.value;
53
+ }
54
+ /**
55
+ * @returns {EL|undefined}
56
+ * @override
57
+ */
58
+ set value(_) {
59
+ Console.warn('you cannot manually set WC_litRef_signal_ref value');
60
+ }
61
+ }
@@ -0,0 +1,100 @@
1
+ // @ts-check
2
+
3
+ import { Console } from '../../class/Console.mjs';
4
+ import { Signal } from '../../class/Signal.mjs';
5
+ import { TrySync } from '../../function/TrySync.mjs';
6
+
7
+ const loopedSiblingSymbol = Symbol('loopedSiblings');
8
+
9
+ /**
10
+ * @description
11
+ * - `Signal` to check siblingIndex of a looped component;
12
+ * - automatically trigger check upon connectedCallback, by wrapping it with `this.ON` even without second argument;
13
+ * - automatically trigger cleanup upon disconnectedCallback, by wrapping it with `this.ON` even without second argument;
14
+ * - assumption is all sibling element must be from same class `WebCompoent`;
15
+ * ```html
16
+ * <div>
17
+ * <!-- looped <my-component></my-component> -->
18
+ * <!-- looped <my-component></my-component> -->
19
+ * <!-- looped <my-component></my-component> -->
20
+ * <my-component></my-component>
21
+ * <!-- looped <my-component></my-component> -->
22
+ * <!-- looped <my-component></my-component> -->
23
+ * </div>
24
+ * ```
25
+ * @extends {Signal<number|undefined>}
26
+ */
27
+ export class WC_loopedSiblingsRef extends Signal {
28
+ /**
29
+ * @param {HTMLElement} instanceRef
30
+ */
31
+ constructor(instanceRef) {
32
+ super(undefined);
33
+ this.#instanceRef = instanceRef;
34
+ }
35
+ /**
36
+ * @type {HTMLElement}
37
+ */
38
+ #instanceRef;
39
+ /**
40
+ * @type {number|undefined}
41
+ */
42
+ #index;
43
+ /**
44
+ * @description
45
+ * - self auto register and cleanup when assigned with `ON` jut by passing empty object as second argument;
46
+ * - the automatic part only works on `WC_extends${suffix}`;
47
+ * >- the cleanup logic are infered by `WC_extends${suffix}` class inner behaviour;
48
+ * - still need to be called manually if used outside `vivth/neutral` `WebComponent`;
49
+ * @type {()=>void}
50
+ */
51
+ onConnected = () => {
52
+ const [res, errorSettingUpLoopedSublingIndex] = TrySync(() => {
53
+ const instanceRef = this.#instanceRef;
54
+ if (this.#index === undefined) {
55
+ if (!instanceRef.isConnected) {
56
+ return undefined;
57
+ }
58
+ if (!instanceRef.previousElementSibling) {
59
+ this.#index = 0;
60
+ } else {
61
+ // @ts-expect-error
62
+ this.#index = instanceRef.previousElementSibling[loopedSiblingSymbol] + 1;
63
+ }
64
+ // @ts-expect-error
65
+ instanceRef[loopedSiblingSymbol] = this.#index;
66
+ }
67
+ return this.#index;
68
+ });
69
+ if (errorSettingUpLoopedSublingIndex) {
70
+ Console.error({ errorSettingUpLoopedSublingIndex });
71
+ return;
72
+ }
73
+ super.value = res;
74
+ };
75
+ /**
76
+ * @description
77
+ * - self auto register and cleanup when assigned with `ON` jut by passing empty object as second argument;
78
+ * - the automatic part only works on `WC_extends${suffix}`;
79
+ * >- the cleanup logic are infered by `WC_extends${suffix}` class inner behaviour;
80
+ * - still need to be called manually if used outside `vivth/neutral` `WebComponent`;
81
+ * @type {()=>void}
82
+ */
83
+ onDisconnected = () => {
84
+ this.vivthCleanup();
85
+ };
86
+ /**
87
+ * @type {number|undefined}
88
+ * @override
89
+ */
90
+ get value() {
91
+ return super.value;
92
+ }
93
+ /**
94
+ * @type {number|undefined}
95
+ * @override
96
+ */
97
+ set value(_) {
98
+ Console.warn('you cannot manually set WC_loopedSiblings_ref value');
99
+ }
100
+ }
package/tsconfig.json CHANGED
@@ -1,41 +1,44 @@
1
- {
2
- "compilerOptions": {
3
- "checkJs": true,
4
- "declaration": true,
5
- "emitDeclarationOnly": true,
6
- "outDir": "./types",
7
- "esModuleInterop": true,
8
- "removeComments": false,
9
-
10
- // Environment setup & latest features
11
- "lib": ["ESNext"],
12
- "target": "ESNext",
13
- "module": "Preserve",
14
- "moduleDetection": "force",
15
- "allowJs": true,
16
-
17
- // Bundler mode
18
- "moduleResolution": "bundler",
19
- "allowImportingTsExtensions": true,
20
- "verbatimModuleSyntax": true,
21
- "noEmit": false,
22
-
23
- // Best practices
24
- "strict": true,
25
- "skipLibCheck": true,
26
- "noFallthroughCasesInSwitch": true,
27
- "noUncheckedIndexedAccess": true,
28
- "noImplicitOverride": true,
29
-
30
- // Some stricter flags (disabled by default)
31
- "noUnusedLocals": true,
32
- "noUnusedParameters": false,
33
- "noPropertyAccessFromIndexSignature": false
34
- },
35
- "include": [
36
- //
37
- "./index.mjs",
38
- // "./dev",
39
- "./src"
40
- ]
41
- }
1
+ {
2
+ "compilerOptions": {
3
+ "allowJs": true,
4
+ "checkJs": false,
5
+ "declaration": true,
6
+ "emitDeclarationOnly": true,
7
+ "outDir": "./generated/types",
8
+ "esModuleInterop": true,
9
+ "removeComments": false,
10
+ "lib": [
11
+ "ESNext"
12
+ ],
13
+ "types": [
14
+ "node"
15
+ ],
16
+ "target": "esnext",
17
+ "module": "Preserve",
18
+ "moduleDetection": "force",
19
+ "moduleResolution": "bundler",
20
+ "allowImportingTsExtensions": true,
21
+ "verbatimModuleSyntax": true,
22
+ "noEmit": false,
23
+ "strict": true,
24
+ "skipLibCheck": true,
25
+ "noFallthroughCasesInSwitch": true,
26
+ "allowUnreachableCode": false,
27
+ "noUncheckedIndexedAccess": true,
28
+ "noImplicitOverride": true,
29
+ "noUnusedLocals": true,
30
+ "noUnusedParameters": true,
31
+ "noPropertyAccessFromIndexSignature": false
32
+ },
33
+ "skipDefaultLibCheck": true,
34
+ "include": [
35
+ "./generated/vivth/exports",
36
+ "./src"
37
+ ],
38
+ "exclude": [
39
+ "./node_modules/**/*",
40
+ "**/*.js",
41
+ "**/*.as.ts",
42
+ "**/*.wasm"
43
+ ]
44
+ }
package/index.mjs DELETED
@@ -1,91 +0,0 @@
1
- // @ts-check
2
-
3
- /**
4
- * automatically generated by `vivth.JSautoDOC`
5
- * @copyright
6
- * this library is made and distributed under MIT license;
7
- */
8
-
9
- export { ToBundledJSPlugin } from './src/bundler/adds/ToBundledJSPlugin.mjs';
10
- export { CompileJS } from './src/bundler/CompileJS.mjs';
11
- export { CreateESPlugin } from './src/bundler/CreateESPlugin.mjs';
12
- export { EsBundler } from './src/bundler/EsBundler.mjs';
13
- export { FSInline } from './src/bundler/FSInline.mjs';
14
- export { FSInlineAnalyzer } from './src/bundler/FSInlineAnalyzer.mjs';
15
- export { Console } from './src/class/Console.mjs';
16
- export { Derived } from './src/class/Derived.mjs';
17
- export { Effect } from './src/class/Effect.mjs';
18
- export { EnvSignal } from './src/class/EnvSignal.mjs';
19
- export { EventSignal } from './src/class/EventSignal.mjs';
20
- export { FileSafe } from './src/class/FileSafe.mjs';
21
- export { ListDerived } from './src/class/ListDerived.mjs';
22
- export { ListSignal } from './src/class/ListSignal.mjs';
23
- export { LitExp } from './src/class/LitExp.mjs';
24
- export { Paths } from './src/class/Paths.mjs';
25
- export { QChannel } from './src/class/QChannel.mjs';
26
- export { SafeExit } from './src/class/SafeExit.mjs';
27
- export { Setup } from './src/class/Setup.mjs';
28
- export { Signal } from './src/class/Signal.mjs';
29
- export { WalkThrough } from './src/class/WalkThrough.mjs';
30
- export { WorkerMainThread } from './src/class/WorkerMainThread.mjs';
31
- export { WorkerResult } from './src/class/WorkerResult.mjs';
32
- export { WorkerThread } from './src/class/WorkerThread.mjs';
33
- export { Base64URL } from './src/common/Base64URL.mjs';
34
- export { Base64URLFromFile } from './src/common/Base64URLFromFile.mjs';
35
- export { CreateStringID } from './src/common/CreateStringID.mjs';
36
- export { Dev } from './src/common/Dev.mjs';
37
- export { EventNameSpace } from './src/common/EventNameSpace.mjs';
38
- export { Trace } from './src/common/Trace.mjs';
39
- export { TracePath } from './src/common/TracePath.mjs';
40
- export { JSautoDOC } from './src/doc/JSautoDOC.mjs';
41
- export { CreateImmutable } from './src/function/CreateImmutable.mjs';
42
- export { EventCheck } from './src/function/EventCheck.mjs';
43
- export { EventObject } from './src/function/EventObject.mjs';
44
- export { GetNamedImportAlias } from './src/function/GetNamedImportAlias.mjs';
45
- export { GetRuntime } from './src/function/GetRuntime.mjs';
46
- export { IsAsync } from './src/function/IsAsync.mjs';
47
- export { LazyFactory } from './src/function/LazyFactory.mjs';
48
- export { TemplateLiteral } from './src/function/TemplateLiteral.mjs';
49
- export { Timeout } from './src/function/Timeout.mjs';
50
- export { Tries } from './src/function/Tries.mjs';
51
- export { TryAsync } from './src/function/TryAsync.mjs';
52
- export { TryNew } from './src/function/TryNew.mjs';
53
- export { TrySync } from './src/function/TrySync.mjs';
54
- export { TsToMjs } from './src/function/TsToMjs.mjs';
55
- /**
56
- * @typedef {import('./src/types/AnyButUndefined.mjs').AnyButUndefined} AnyButUndefined
57
- */
58
- /**
59
- * @typedef {import('./src/types/DevTestCB.mjs').DevTestCB} DevTestCB
60
- */
61
- /**
62
- * @typedef {import('./src/types/ExtnameType.mjs').ExtnameType} ExtnameType
63
- */
64
- /**
65
- * @typedef {import('./src/types/IsListSignal.mjs').IsListSignal} IsListSignal
66
- */
67
- /**
68
- * @typedef {import('./src/types/ListArg.mjs').ListArg} ListArg
69
- */
70
- /**
71
- * @typedef {import('./src/types/LitExpKeyType.mjs').LitExpKeyType} LitExpKeyType
72
- */
73
- /**
74
- * @template {import('./src/types/LitExpKeyType.mjs').LitExpKeyType} KEYS
75
- * @typedef {import('./src/types/LitExpResultType.mjs').LitExpResultType<KEYS>} LitExpResultType
76
- */
77
- /**
78
- * @typedef {import('./src/types/MutationType.mjs').MutationType} MutationType
79
- */
80
- /**
81
- * @typedef {import('./src/types/QCBFIFOReturn.mjs').QCBFIFOReturn} QCBFIFOReturn
82
- */
83
- /**
84
- * @typedef {import('./src/types/QCBReturn.mjs').QCBReturn} QCBReturn
85
- */
86
- /**
87
- * @typedef {import('./src/types/Runtime.mjs').Runtime} Runtime
88
- */
89
- /**
90
- * @typedef {import('./src/types/VivthDevCodeBlockStringType.mjs').VivthDevCodeBlockStringType} VivthDevCodeBlockStringType
91
- */
@@ -1,67 +0,0 @@
1
- // @ts-check
2
-
3
- import { join } from 'node:path';
4
- import { readFile } from 'node:fs/promises';
5
-
6
- import { Paths } from '../class/Paths.mjs';
7
-
8
- /**
9
- * @description
10
- * - class helper to inline files;
11
- * >- as `type: "buffer"`;
12
- * - use only if you are planning to use [CompileJS](#compilejs);
13
- * >- the class static methods don't obfuscate target file;
14
- * >- don't embed any sensitive content using this methods of this class;
15
- */
16
- export class FSInline {
17
- /**
18
- * @description
19
- * - declare entrypoint of file inlining;
20
- * >- on the dev time, it's just regullar `readFile` from `node:fs/promises`;
21
- * >- on the compiled, it will read file from `FSInline.vivthFSInlinelists`
22
- * @param {string} filePathFromProject
23
- * - doesn't require prefix;
24
- * @returns {Promise<Buffer<ArrayBuffer>>}
25
- * - dev: returns `ArrayBuffer`;
26
- * - bundled: embed the `ArrayBuffer` of file, which then returned;
27
- * >- `Dev` will be cleaned up;
28
- * @example
29
- * import { FSInline } from 'vivth';
30
- *
31
- * (await FSInline.vivthFSInlineFile('/assets/text.txt')).toString('utf-8');
32
- */
33
- static vivthFSInlineFile = async (filePathFromProject) => {
34
- filePathFromProject = Paths.normalizesForRoot(filePathFromProject);
35
- if (Paths.root === undefined) {
36
- return Buffer.from([]);
37
- }
38
- const fullAbsolutePath = join(Paths.root, filePathFromProject);
39
- return Buffer.from(await readFile(fullAbsolutePath));
40
- };
41
- /**
42
- * @description
43
- * - declare entrypoint of file inlining, include all files on `dir` and `subdir` that match the `fileRule`;
44
- * - consider this as inline assets embed/bundler;
45
- * @param {string} dirPathFromProject
46
- * - doesn't require prefix;
47
- * @param {RegExp} fileRule
48
- * @returns {Promise<typeof FSInline["vivthFSInlineFile"]>}
49
- * @example
50
- * import { FSInline } from 'vivth';
51
- *
52
- * export const pngAssets = await FSInline.vivthFSInlineDir('/assets', /.png$/g);
53
- */
54
- static vivthFSInlineDir = async (dirPathFromProject, fileRule) => {
55
- dirPathFromProject = Paths.normalizesForRoot(dirPathFromProject);
56
- return (path_) => FSInline.vivthFSInlineFile(join(dirPathFromProject, path_));
57
- };
58
- /**
59
- * @description
60
- * - placeholder for FSInline;
61
- * - it's remain publicly accessible so it doesn't mess with regex analyze on bundle;
62
- * - shouldn't be manually accessed;
63
- * >- access via `FSInline.vivthFSInlineFile` or `FSInline.vivthFSInlineDir`;
64
- * @type {Record<string, Buffer<ArrayBuffer>>}
65
- */
66
- static vivthFSInlinelists = {};
67
- }