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,33 @@
1
+ // @ts-check
2
+
3
+ import { createRequire } from 'node:module';
4
+
5
+ import { ForOfSync } from './ForOfSync.mjs';
6
+ import { fileURLToPath } from 'node:url';
7
+ import { Paths } from '../class/Paths.mjs';
8
+
9
+ const require = /* @__PURE__ */ createRequire(import.meta.url);
10
+
11
+ /**
12
+ * @param {string} string
13
+ * @returns {string}
14
+ */
15
+ const fileURLToPathWithDenormalized = (string) => {
16
+ return Paths.nativeSep(fileURLToPath(string).toString());
17
+ };
18
+
19
+ /**
20
+ * @description
21
+ * - safely clear `import`/`require` `caches`;
22
+ * @type {(path:string)=>void}
23
+ * @example
24
+ * import { ClearRequireCache } from 'vivth/node';
25
+ *
26
+ * ClearRequireCache('D://path/to.mjs');
27
+ */
28
+ export function ClearRequireCache(keysOfCache) {
29
+ ForOfSync([Paths.nativeSep, fileURLToPathWithDenormalized], (handler) => {
30
+ const keysOfCache_ = handler(keysOfCache).toString();
31
+ delete require.cache[keysOfCache_];
32
+ });
33
+ }
@@ -1,6 +1,7 @@
1
1
  // @ts-check
2
2
 
3
3
  import { Console } from '../class/Console.mjs';
4
+ import { IsTypeOf } from './IsTypeOf.mjs';
4
5
  import { LazyFactory } from './LazyFactory.mjs';
5
6
  import { TrySync } from './TrySync.mjs';
6
7
 
@@ -16,13 +17,13 @@ import { TrySync } from './TrySync.mjs';
16
17
  * @param {(this:PARENT)=>OBJECT} object
17
18
  * @param {Object} [options]
18
19
  * @param {boolean} [options.lazy]
19
- * @return {OBJECT}
20
+ * @return {ReturnType<typeof TrySync<OBJECT>>}
20
21
  * @example
21
- * import { CreateImmutable } from 'vivth';
22
+ * import { CreateImmutable } from 'vivth/neutral';
22
23
  *
23
24
  * const mappedObject = new Map();
24
25
  *
25
- * CreateImmutable(window, 'mySharedObject', {
26
+ * const [object, errorCreatingImmutable] = CreateImmutable(window, 'mySharedObject', {
26
27
  * setMap(name_, value) => {
27
28
  * mappedObject.set(name_, value)
28
29
  * },
@@ -30,40 +31,42 @@ import { TrySync } from './TrySync.mjs';
30
31
  * })
31
32
  */
32
33
  export function CreateImmutable(parent, keyName, object, { lazy = true } = {}) {
33
- if (parent === undefined || typeof parent !== 'object') {
34
- const error = {
35
- object,
36
- parent,
37
- keyName,
38
- message: 'Invalid parent object provided to `CreateImmutable`;',
39
- };
40
- Console.error(error);
41
- throw Error(JSON.stringify(error));
42
- }
43
- let [, error] = TrySync(() => {
44
- Object.defineProperty(parent, keyName, {
45
- value: lazy ? LazyFactory(() => object.call(parent)) : object.call(parent),
46
- writable: false,
47
- configurable: false,
48
- enumerable: false,
34
+ return TrySync(() => {
35
+ if (parent === undefined || !IsTypeOf(parent, 'object')) {
36
+ const error = {
37
+ object,
38
+ parent,
39
+ keyName,
40
+ message: 'Invalid parent object provided to `CreateImmutable`;',
41
+ };
42
+ Console.error(error);
43
+ throw Error(JSON.stringify(error));
44
+ }
45
+ let [, error] = TrySync(() => {
46
+ Object.defineProperty(parent, keyName, {
47
+ value: lazy ? LazyFactory(() => object.call(parent)) : object.call(parent),
48
+ writable: false,
49
+ configurable: false,
50
+ enumerable: false,
51
+ });
49
52
  });
53
+ if (error) {
54
+ [, error] = TrySync(() => {
55
+ // @ts-expect-error
56
+ parent[keyName] = lazy ? LazyFactory(() => object.call(parent)) : object.call(parent);
57
+ });
58
+ }
59
+ if (error) {
60
+ const error = {
61
+ parent,
62
+ message: `"${keyName}" already defined on the "parent"`,
63
+ // @ts-expect-error
64
+ realValue: parent[keyName],
65
+ };
66
+ Console.warn(error);
67
+ throw JSON.stringify(error);
68
+ }
69
+ // @ts-expect-error
70
+ return parent[keyName];
50
71
  });
51
- if (error) {
52
- [, error] = TrySync(() => {
53
- // @ts-expect-error
54
- parent[keyName] = lazy ? LazyFactory(() => object.call(parent)) : object.call(parent);
55
- });
56
- }
57
- if (error) {
58
- const error = {
59
- parent,
60
- message: `"${keyName}" already defined on the "parent"`,
61
- // @ts-expect-error
62
- realValue: parent[keyName],
63
- };
64
- Console.warn(error);
65
- throw new Error(JSON.stringify(error));
66
- }
67
- // @ts-expect-error
68
- return parent[keyName];
69
72
  }
@@ -1,6 +1,7 @@
1
1
  // @ts-check
2
2
 
3
3
  import { EventNameSpace } from '../common/EventNameSpace.mjs';
4
+ import { IsTypeOf } from './IsTypeOf.mjs';
4
5
 
5
6
  /**
6
7
  * @description
@@ -9,10 +10,12 @@ import { EventNameSpace } from '../common/EventNameSpace.mjs';
9
10
  * @param {Record<typeof EventNameSpace, string>} eventObject
10
11
  * @returns {boolean}
11
12
  * @example
12
- * import { EventCheck } from 'vivth';
13
+ * import { EventCheck } from 'vivth/neutral';
13
14
  * import { incomingMessage } from './some/where.mjs';
14
15
  *
15
16
  * const eventObjectPayload = EventObject('worker:exit');
17
+ *
18
+ * console.log(EventCheck(incomingMessage, eventObjectPayload));
16
19
  * // assuming `incomingMessage`, also created using EventObject('worker:exit');
17
20
  * // or manually {[EventNameSpace]:'worker:exit'};
18
21
  * // which either will result true;
@@ -20,7 +23,7 @@ import { EventNameSpace } from '../common/EventNameSpace.mjs';
20
23
  export function EventCheck(object, eventObject) {
21
24
  return (
22
25
  object &&
23
- typeof object === 'object' &&
26
+ IsTypeOf(object, 'object') &&
24
27
  EventNameSpace in object &&
25
28
  object[EventNameSpace] === eventObject[EventNameSpace]
26
29
  );
@@ -9,13 +9,9 @@ import { EventNameSpace } from '../common/EventNameSpace.mjs';
9
9
  * @param {NAME} name
10
10
  * @returns {{[EventNameSpace]: NAME}}
11
11
  * @example
12
- * import { EventCheck } from 'vivth';
13
- * import { incomingMessage } from './some/where.mjs';
12
+ * import { EventObject } from 'vivth/neutral';
14
13
  *
15
- * const eventObjectPayload = EventObject('worker:exit');
16
- * // assuming `incomingMessage`, also created using EventObject('worker:exit');
17
- * // or manually {[EventNameSpace]:'worker:exit'};
18
- * // which either will result true;
14
+ * export const eventObjectPayload = EventObject('worker:exit');
19
15
  */
20
16
  export function EventObject(name) {
21
17
  return { [EventNameSpace]: name };
@@ -0,0 +1,76 @@
1
+ // @ts-check
2
+
3
+ import { TryAsync } from './TryAsync.mjs';
4
+
5
+ /**
6
+ * @description
7
+ * - safe `Object` async iterator helper;
8
+ * >- collect errors then returns it as Set<Error>;
9
+ * @template {Record<string|number|symbol, any>} OBJECT
10
+ * @template {any} RETURNTYPE
11
+ * @param {OBJECT} object
12
+ * @param {(
13
+ * key:keyof OBJECT,
14
+ * value:OBJECT[keyof OBJECT],
15
+ * options:{
16
+ * prevError:Error|undefined,
17
+ * breakEarly:()=>void,
18
+ * },
19
+ * )=>Promise<RETURNTYPE|undefined>} handlerCallback
20
+ * - when `breakEarly` is called, the loop will break at the begining of the next iteration;
21
+ * - typehint according to your js flavor, so the function make setOfResult typed;
22
+ * @returns {Promise<[Set<RETURNTYPE>, Set<Error>]>}
23
+ * @example
24
+ * import { ForInAsync } from 'vivth/neutral';
25
+ *
26
+ * const object = { A: 'a', B: 'b' };
27
+ * const setOfError = await ForInAsync(
28
+ * object,
29
+ * async (key, value, { prevError, breakEarly }) => {
30
+ * // if(prevError) {
31
+ * // breakEarly(); // imperative break;
32
+ * // return; // undefined return will not be added to result;
33
+ * // }
34
+ * }
35
+ * );
36
+ */
37
+ export async function ForInAsync(object, handlerCallback) {
38
+ /**
39
+ * @type {Set<Error>}
40
+ */
41
+ const errors = new Set();
42
+ /**
43
+ * @type {Set<RETURNTYPE>}
44
+ */
45
+ const results = new Set();
46
+ /**
47
+ * @type {Error|undefined}
48
+ */
49
+ let prevError;
50
+ let breakEarly_ = false;
51
+ const breakEarly = () => {
52
+ breakEarly_ = true;
53
+ };
54
+ for (const key in object) {
55
+ if (breakEarly_) {
56
+ break;
57
+ }
58
+ const value = object[key];
59
+ if (!Object.hasOwn(object, key) || value === undefined) {
60
+ continue;
61
+ }
62
+ const [result, error] = await TryAsync(
63
+ async () => await handlerCallback(key, value, { prevError, breakEarly }),
64
+ );
65
+ if (error) {
66
+ prevError = error;
67
+ errors.add(error);
68
+ continue;
69
+ }
70
+ if (result === undefined) {
71
+ continue;
72
+ }
73
+ results.add(result);
74
+ }
75
+ return [results, errors];
76
+ }
@@ -0,0 +1,87 @@
1
+ // @ts-check
2
+
3
+ import { TrySync } from './TrySync.mjs';
4
+
5
+ /**
6
+ * @description
7
+ * - safe `Object` iterator helper;
8
+ * >- collect errors then returns it as Set<Error>;
9
+ * @template {Record<string|number|symbol, any>} OBJECT
10
+ * @template {any} RETURNTYPE
11
+ * @param {OBJECT} object
12
+ * @param {(
13
+ * key:keyof OBJECT,
14
+ * value:OBJECT[keyof OBJECT],
15
+ * options:{
16
+ * prevError:Error|undefined,
17
+ * breakEarly:()=>void,
18
+ * },
19
+ * )=>RETURNTYPE|undefined} handlerCallback
20
+ * - when `breakEarly` is called, the loop will break at the begining of the next iteration;
21
+ * - typehint according to your js flavor, so the function make setOfResult typed;
22
+ * @returns {[Set<RETURNTYPE>, Set<Error>]}
23
+ * @example
24
+ * import { ForInSync } from 'vivth/neutral';
25
+ *
26
+ * const object = { A: 'a', B: 'b' };
27
+ * const [setOfResult , setOfError] = ForInSync(
28
+ * object,
29
+ * (key, value, { prevError, breakEarly }) => {
30
+ * // if(prevError) {
31
+ * // breakEarly(); // imperative break;
32
+ * // return; // undefined return will not be added to result;
33
+ * // }
34
+ * }
35
+ * );
36
+ */
37
+ export function ForInSync(object, handlerCallback) {
38
+ /**
39
+ * @type {Set<Error>}
40
+ */
41
+ const errors = new Set();
42
+ /**
43
+ * @type {Set<RETURNTYPE>}
44
+ */
45
+ const results = new Set();
46
+ /**
47
+ * @type {Error|undefined}
48
+ */
49
+ let prevError;
50
+ let breakEarly_ = false;
51
+ const breakEarly = () => {
52
+ breakEarly_ = true;
53
+ };
54
+ for (const key in object) {
55
+ if (
56
+ /** */
57
+ breakEarly_
58
+ ) {
59
+ break;
60
+ }
61
+ const value = object[key];
62
+ if (
63
+ /** */
64
+ !Object.hasOwn(object, key) ||
65
+ value === undefined
66
+ ) {
67
+ continue;
68
+ }
69
+ const [result, error] = TrySync(() => handlerCallback(key, value, { prevError, breakEarly }));
70
+ if (
71
+ /** */
72
+ error
73
+ ) {
74
+ prevError = error;
75
+ errors.add(error);
76
+ continue;
77
+ }
78
+ if (
79
+ /** */
80
+ result === undefined
81
+ ) {
82
+ continue;
83
+ }
84
+ results.add(result);
85
+ }
86
+ return [results, errors];
87
+ }
@@ -0,0 +1,61 @@
1
+ // @ts-check
2
+
3
+ import { TryAsync } from './TryAsync.mjs';
4
+
5
+ /**
6
+ * @description
7
+ * - loop through iterable safely;
8
+ * @template {any} T
9
+ * @template {any} RETURNTYPE
10
+ * @param {Iterable<T>} iterable
11
+ * @param {(value: T,
12
+ * options:{
13
+ * prevError:Error|undefined,
14
+ * breakEarly:()=>void,
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 { ForOfAsync } from 'vivth/neutral';
21
+ *
22
+ * await ForOfAsync(iterable, async(value, { prevError, breakEarly })=>{
23
+ * // code
24
+ * })
25
+ */
26
+ export async function ForOfAsync(iterable, handlerCallback) {
27
+ /**
28
+ * @type {Set<Error>}
29
+ */
30
+ const errors = new Set();
31
+ /**
32
+ * @type {Set<RETURNTYPE>}
33
+ */
34
+ const results = new Set();
35
+ /**
36
+ * @type {Error|undefined}
37
+ */
38
+ let prevError;
39
+ let breakEarly_ = false;
40
+ const breakEarly = () => {
41
+ breakEarly_ = true;
42
+ };
43
+ for await (const value of iterable) {
44
+ if (breakEarly_) {
45
+ break;
46
+ }
47
+ const [result, error] = await TryAsync(
48
+ async () => await handlerCallback(value, { prevError, breakEarly }),
49
+ );
50
+ if (error) {
51
+ prevError = error;
52
+ errors.add(error);
53
+ continue;
54
+ }
55
+ if (result === undefined) {
56
+ continue;
57
+ }
58
+ results.add(result);
59
+ }
60
+ return [results, errors];
61
+ }
@@ -0,0 +1,70 @@
1
+ // @ts-check
2
+
3
+ import { TrySync } from './TrySync.mjs';
4
+
5
+ /**
6
+ * @description
7
+ * - loop through iterable safely;
8
+ * @template {any} T
9
+ * @template {any} RETURNTYPE
10
+ * @param {Iterable<T>} iterable
11
+ * @param {(value: T,
12
+ * options:{
13
+ * prevError:Error|undefined,
14
+ * breakEarly:()=>void,
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 { ForOfSync, TryAsync } from 'vivth/neutral';
21
+ *
22
+ * ForOfSync(iterable, (value, { prevError, breakEarly })=>{
23
+ * // code
24
+ * });
25
+ *
26
+ * await Promise.all(ForOfSync([
27
+ * async()=>{
28
+ * // code to run pararelly
29
+ * },
30
+ * async()=>{
31
+ * // code to run pararelly
32
+ * },
33
+ * ], async(cb)=>{
34
+ * return await cb();
35
+ * })[0])
36
+ */
37
+ export function ForOfSync(iterable, handlerCallback) {
38
+ /**
39
+ * @type {Set<Error>}
40
+ */
41
+ const errors = new Set();
42
+ /**
43
+ * @type {Set<RETURNTYPE>}
44
+ */
45
+ const results = new Set();
46
+ /**
47
+ * @type {Error|undefined}
48
+ */
49
+ let prevError;
50
+ let breakEarly_ = false;
51
+ const breakEarly = () => {
52
+ breakEarly_ = true;
53
+ };
54
+ for (const value of iterable) {
55
+ if (breakEarly_) {
56
+ break;
57
+ }
58
+ const [result, error] = TrySync(() => handlerCallback(value, { prevError, breakEarly }));
59
+ if (error) {
60
+ prevError = error;
61
+ errors.add(error);
62
+ continue;
63
+ }
64
+ if (result === undefined) {
65
+ continue;
66
+ }
67
+ results.add(result);
68
+ }
69
+ return [results, errors];
70
+ }
@@ -0,0 +1,25 @@
1
+ // @ts-check
2
+
3
+ import { FSasar } from '../bundler/FSasar.mjs';
4
+ import { PathFSFile } from '../bundler/adds/PathFSFile.mjs';
5
+
6
+ /**
7
+ * @description
8
+ * - get content from relativePath;
9
+ * - only usefull to unbundled environtment;
10
+ * - if your goal is to include on the `.asar`, use [FSasar](#fsasar) instead;
11
+ * @param {string} relativePath
12
+ * - relative path from the caller;
13
+ * @returns {ReturnType<typeof FSasar.file>}
14
+ * @example
15
+ * import { GetContentFromRelativePath } from 'vivth/node';
16
+ *
17
+ * await GetContentFromRelativePath('../doc/parsedFile.mjs', 'utf-8');
18
+ */
19
+ export async function GetBufferFromRelativePath(relativePath) {
20
+ return await FSasar.file(
21
+ PathFSFile.vivthFile(relativePath, {
22
+ shouldNotIncludes: '/vivth/src/function/GetContentFromRelativePath.mjs',
23
+ }),
24
+ );
25
+ }
@@ -0,0 +1,49 @@
1
+ // @ts-check
2
+
3
+ import { join } from 'node:path';
4
+ import { readdir } from 'node:fs/promises';
5
+
6
+ import { TryAsync } from './TryAsync.mjs';
7
+ import { Console } from '../class/Console.mjs';
8
+ import { Paths } from '../class/Paths.mjs';
9
+ import { ForOfSync } from './ForOfSync.mjs';
10
+
11
+ /**
12
+ * @description
13
+ * - helper function to get file from dir;
14
+ * @param {string} dirAbsolutePath
15
+ * @param {RegExp} pathRule
16
+ * @param {Set<string>} [fileNames]
17
+ * - fill manually to imediately add result to existing `Set` without expecting return;
18
+ * @returns {Promise<Set<string>>}
19
+ * @example
20
+ * import { GetFilesFromDir } from 'vivth/node';
21
+ *
22
+ * const files = await GetFilesFromDir(join(Paths.root, '/dev/'), /[\s\S]\*[noblank]/); // without \[noblank]
23
+ */
24
+ export async function GetFilesFromDir(dirAbsolutePath, pathRule, fileNames = new Set()) {
25
+ const [entries, errorReadDir] = await TryAsync(async () => {
26
+ return await readdir(dirAbsolutePath, { withFileTypes: true });
27
+ });
28
+ if (errorReadDir) {
29
+ Console.error({ errorReadDir }, { now: true });
30
+ return fileNames;
31
+ }
32
+ await Promise.all(
33
+ ForOfSync(entries, async (entry) => {
34
+ const fullPath = join(dirAbsolutePath, entry.name);
35
+ if (!pathRule.test(fullPath)) {
36
+ return;
37
+ }
38
+ if (entry.isFile()) {
39
+ fileNames.add(Paths.normalize(fullPath));
40
+ return;
41
+ }
42
+ if (!entry.isDirectory()) {
43
+ return;
44
+ }
45
+ await GetFilesFromDir(fullPath, pathRule, fileNames);
46
+ })[0],
47
+ );
48
+ return fileNames;
49
+ }
@@ -0,0 +1,32 @@
1
+ // @ts-check
2
+
3
+ import process from 'node:process';
4
+ import { constants } from 'node:fs';
5
+
6
+ /**
7
+ * @type { undefined|number }
8
+ */
9
+ let length;
10
+ const fallbacklenght = 255;
11
+
12
+ /**
13
+ * @description
14
+ * - Get OS-specific max filename length;
15
+ * - On POSIX: fs.constants.NAME_MAX;
16
+ * - On Windows: 255 (per component, unless long paths enabled);
17
+ * - used internally to validate name length for [`UniqueFSTempName`](#uniquefstempname);
18
+ * @returns {number}
19
+ */
20
+ export function GetMaxFilenameLength() {
21
+ if (length === undefined) {
22
+ if (process.platform === 'win32') {
23
+ length = fallbacklenght; // fallback if undefined
24
+ } else {
25
+ length =
26
+ // @ts-expect-error
27
+ constants.NAME_MAX || fallbacklenght; // fallback if undefined
28
+ }
29
+ }
30
+ // @ts-expect-error
31
+ return length;
32
+ }