@breadstone-infrastructure/utilities 0.0.12-beta.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 (374) hide show
  1. package/Cli/Abstracts/ProgramCommandBase.d.ts +60 -0
  2. package/Cli/Abstracts/ProgramCommandBase.d.ts.map +1 -0
  3. package/Cli/Abstracts/ProgramCommandBase.js +64 -0
  4. package/Cli/Abstracts/ProgramCommandBase.js.map +1 -0
  5. package/Cli/Builders/ProgramBuilder.d.ts +39 -0
  6. package/Cli/Builders/ProgramBuilder.d.ts.map +1 -0
  7. package/Cli/Builders/ProgramBuilder.js +73 -0
  8. package/Cli/Builders/ProgramBuilder.js.map +1 -0
  9. package/Cli/Builders/ProgramCommandBuilder.d.ts +78 -0
  10. package/Cli/Builders/ProgramCommandBuilder.d.ts.map +1 -0
  11. package/Cli/Builders/ProgramCommandBuilder.js +147 -0
  12. package/Cli/Builders/ProgramCommandBuilder.js.map +1 -0
  13. package/Cli/Interfaces/IProgramArg.d.ts +11 -0
  14. package/Cli/Interfaces/IProgramArg.d.ts.map +1 -0
  15. package/Cli/Interfaces/IProgramArg.js +4 -0
  16. package/Cli/Interfaces/IProgramArg.js.map +1 -0
  17. package/Cli/Interfaces/IProgramArgOptions.d.ts +9 -0
  18. package/Cli/Interfaces/IProgramArgOptions.d.ts.map +1 -0
  19. package/Cli/Interfaces/IProgramArgOptions.js +4 -0
  20. package/Cli/Interfaces/IProgramArgOptions.js.map +1 -0
  21. package/Cli/Interfaces/IProgramArgs.d.ts +27 -0
  22. package/Cli/Interfaces/IProgramArgs.d.ts.map +1 -0
  23. package/Cli/Interfaces/IProgramArgs.js +4 -0
  24. package/Cli/Interfaces/IProgramArgs.js.map +1 -0
  25. package/Cli/Interfaces/IProgramCommand.d.ts +53 -0
  26. package/Cli/Interfaces/IProgramCommand.d.ts.map +1 -0
  27. package/Cli/Interfaces/IProgramCommand.js +4 -0
  28. package/Cli/Interfaces/IProgramCommand.js.map +1 -0
  29. package/Cli/Interfaces/IProgramCommands.d.ts +47 -0
  30. package/Cli/Interfaces/IProgramCommands.d.ts.map +1 -0
  31. package/Cli/Interfaces/IProgramCommands.js +4 -0
  32. package/Cli/Interfaces/IProgramCommands.js.map +1 -0
  33. package/Cli/Interfaces/IProgramConfig.d.ts +10 -0
  34. package/Cli/Interfaces/IProgramConfig.d.ts.map +1 -0
  35. package/Cli/Interfaces/IProgramConfig.js +3 -0
  36. package/Cli/Interfaces/IProgramConfig.js.map +1 -0
  37. package/Cli/Interfaces/IProgramInit.d.ts +14 -0
  38. package/Cli/Interfaces/IProgramInit.d.ts.map +1 -0
  39. package/Cli/Interfaces/IProgramInit.js +3 -0
  40. package/Cli/Interfaces/IProgramInit.js.map +1 -0
  41. package/Cli/Program.d.ts +97 -0
  42. package/Cli/Program.d.ts.map +1 -0
  43. package/Cli/Program.js +217 -0
  44. package/Cli/Program.js.map +1 -0
  45. package/Cli/ProgramArgs.d.ts +39 -0
  46. package/Cli/ProgramArgs.d.ts.map +1 -0
  47. package/Cli/ProgramArgs.js +83 -0
  48. package/Cli/ProgramArgs.js.map +1 -0
  49. package/Cli/ProgramCommandResult.d.ts +13 -0
  50. package/Cli/ProgramCommandResult.d.ts.map +1 -0
  51. package/Cli/ProgramCommandResult.js +3 -0
  52. package/Cli/ProgramCommandResult.js.map +1 -0
  53. package/Cli/ProgramCommands.d.ts +66 -0
  54. package/Cli/ProgramCommands.d.ts.map +1 -0
  55. package/Cli/ProgramCommands.js +173 -0
  56. package/Cli/ProgramCommands.js.map +1 -0
  57. package/Cli/ProgramConfig.d.ts +24 -0
  58. package/Cli/ProgramConfig.d.ts.map +1 -0
  59. package/Cli/ProgramConfig.js +51 -0
  60. package/Cli/ProgramConfig.js.map +1 -0
  61. package/Cli/ProgramDoneFn.d.ts +5 -0
  62. package/Cli/ProgramDoneFn.d.ts.map +1 -0
  63. package/Cli/ProgramDoneFn.js +3 -0
  64. package/Cli/ProgramDoneFn.js.map +1 -0
  65. package/Compiler/TypeScript.d.ts +19 -0
  66. package/Compiler/TypeScript.d.ts.map +1 -0
  67. package/Compiler/TypeScript.js +166 -0
  68. package/Compiler/TypeScript.js.map +1 -0
  69. package/DI/Container.d.ts +73 -0
  70. package/DI/Container.d.ts.map +1 -0
  71. package/DI/Container.js +143 -0
  72. package/DI/Container.js.map +1 -0
  73. package/DI/Inject.d.ts +11 -0
  74. package/DI/Inject.d.ts.map +1 -0
  75. package/DI/Inject.js +18 -0
  76. package/DI/Inject.js.map +1 -0
  77. package/Decorators/EnumerableDecorator.d.ts +6 -0
  78. package/Decorators/EnumerableDecorator.d.ts.map +1 -0
  79. package/Decorators/EnumerableDecorator.js +18 -0
  80. package/Decorators/EnumerableDecorator.js.map +1 -0
  81. package/Events/AsyncEventEmitter.d.ts +8 -0
  82. package/Events/AsyncEventEmitter.d.ts.map +1 -0
  83. package/Events/AsyncEventEmitter.js +37 -0
  84. package/Events/AsyncEventEmitter.js.map +1 -0
  85. package/IO/CustomElementManifest.d.ts +254 -0
  86. package/IO/CustomElementManifest.d.ts.map +1 -0
  87. package/IO/CustomElementManifest.js +56 -0
  88. package/IO/CustomElementManifest.js.map +1 -0
  89. package/IO/Directory.d.ts +78 -0
  90. package/IO/Directory.d.ts.map +1 -0
  91. package/IO/Directory.js +184 -0
  92. package/IO/Directory.js.map +1 -0
  93. package/IO/Encoding.d.ts +2 -0
  94. package/IO/Encoding.d.ts.map +1 -0
  95. package/IO/Encoding.js +3 -0
  96. package/IO/Encoding.js.map +1 -0
  97. package/IO/File.d.ts +148 -0
  98. package/IO/File.d.ts.map +1 -0
  99. package/IO/File.js +314 -0
  100. package/IO/File.js.map +1 -0
  101. package/IO/FileSystemInfo.d.ts +46 -0
  102. package/IO/FileSystemInfo.d.ts.map +1 -0
  103. package/IO/FileSystemInfo.js +129 -0
  104. package/IO/FileSystemInfo.js.map +1 -0
  105. package/IO/FileSystemWatcher.d.ts +49 -0
  106. package/IO/FileSystemWatcher.d.ts.map +1 -0
  107. package/IO/FileSystemWatcher.js +93 -0
  108. package/IO/FileSystemWatcher.js.map +1 -0
  109. package/IO/Glob.d.ts +35 -0
  110. package/IO/Glob.d.ts.map +1 -0
  111. package/IO/Glob.js +152 -0
  112. package/IO/Glob.js.map +1 -0
  113. package/IO/Json.d.ts +84 -0
  114. package/IO/Json.d.ts.map +1 -0
  115. package/IO/Json.js +114 -0
  116. package/IO/Json.js.map +1 -0
  117. package/IO/Path.d.ts +125 -0
  118. package/IO/Path.d.ts.map +1 -0
  119. package/IO/Path.js +283 -0
  120. package/IO/Path.js.map +1 -0
  121. package/IO/PcfControlManifest.d.ts +79 -0
  122. package/IO/PcfControlManifest.d.ts.map +1 -0
  123. package/IO/PcfControlManifest.js +93 -0
  124. package/IO/PcfControlManifest.js.map +1 -0
  125. package/IO/Reader/Interfaces/IFileReader.d.ts +30 -0
  126. package/IO/Reader/Interfaces/IFileReader.d.ts.map +1 -0
  127. package/IO/Reader/Interfaces/IFileReader.js +3 -0
  128. package/IO/Reader/Interfaces/IFileReader.js.map +1 -0
  129. package/IO/Reader/TextFileReader.d.ts +53 -0
  130. package/IO/Reader/TextFileReader.d.ts.map +1 -0
  131. package/IO/Reader/TextFileReader.js +167 -0
  132. package/IO/Reader/TextFileReader.js.map +1 -0
  133. package/IO/Resx.d.ts +49 -0
  134. package/IO/Resx.d.ts.map +1 -0
  135. package/IO/Resx.js +95 -0
  136. package/IO/Resx.js.map +1 -0
  137. package/IO/SymbolikLink.d.ts +6 -0
  138. package/IO/SymbolikLink.d.ts.map +1 -0
  139. package/IO/SymbolikLink.js +10 -0
  140. package/IO/SymbolikLink.js.map +1 -0
  141. package/IO/Template.d.ts +41 -0
  142. package/IO/Template.d.ts.map +1 -0
  143. package/IO/Template.js +71 -0
  144. package/IO/Template.js.map +1 -0
  145. package/IO/TemporaryDirectory.d.ts +28 -0
  146. package/IO/TemporaryDirectory.d.ts.map +1 -0
  147. package/IO/TemporaryDirectory.js +76 -0
  148. package/IO/TemporaryDirectory.js.map +1 -0
  149. package/IO/TemporaryFile.d.ts +28 -0
  150. package/IO/TemporaryFile.d.ts.map +1 -0
  151. package/IO/TemporaryFile.js +77 -0
  152. package/IO/TemporaryFile.js.map +1 -0
  153. package/IO/Writer/Interfaces/IFileWriter.d.ts +31 -0
  154. package/IO/Writer/Interfaces/IFileWriter.d.ts.map +1 -0
  155. package/IO/Writer/Interfaces/IFileWriter.js +4 -0
  156. package/IO/Writer/Interfaces/IFileWriter.js.map +1 -0
  157. package/IO/Writer/TextFileWriter.d.ts +56 -0
  158. package/IO/Writer/TextFileWriter.d.ts.map +1 -0
  159. package/IO/Writer/TextFileWriter.js +129 -0
  160. package/IO/Writer/TextFileWriter.js.map +1 -0
  161. package/IO/vNext/FileCache.d.ts +46 -0
  162. package/IO/vNext/FileCache.d.ts.map +1 -0
  163. package/IO/vNext/FileCache.js +94 -0
  164. package/IO/vNext/FileCache.js.map +1 -0
  165. package/IO/vNext/FileSystem.d.ts +107 -0
  166. package/IO/vNext/FileSystem.d.ts.map +1 -0
  167. package/IO/vNext/FileSystem.js +148 -0
  168. package/IO/vNext/FileSystem.js.map +1 -0
  169. package/IO/vNext/Interfaces/IFileCache.d.ts +56 -0
  170. package/IO/vNext/Interfaces/IFileCache.d.ts.map +1 -0
  171. package/IO/vNext/Interfaces/IFileCache.js +3 -0
  172. package/IO/vNext/Interfaces/IFileCache.js.map +1 -0
  173. package/IO/vNext/Interfaces/IFileSystem.d.ts +102 -0
  174. package/IO/vNext/Interfaces/IFileSystem.d.ts.map +1 -0
  175. package/IO/vNext/Interfaces/IFileSystem.js +4 -0
  176. package/IO/vNext/Interfaces/IFileSystem.js.map +1 -0
  177. package/Index.d.ts +62 -0
  178. package/Index.d.ts.map +1 -0
  179. package/Index.js +132 -0
  180. package/Index.js.map +1 -0
  181. package/Intl/Languages.d.ts +12 -0
  182. package/Intl/Languages.d.ts.map +1 -0
  183. package/Intl/Languages.js +865 -0
  184. package/Intl/Languages.js.map +1 -0
  185. package/LICENSE +21 -0
  186. package/Logging/Appenders/Abstracts/Appender.d.ts +21 -0
  187. package/Logging/Appenders/Abstracts/Appender.d.ts.map +1 -0
  188. package/Logging/Appenders/Abstracts/Appender.js +78 -0
  189. package/Logging/Appenders/Abstracts/Appender.js.map +1 -0
  190. package/Logging/Appenders/Interfaces/IAppender.d.ts +13 -0
  191. package/Logging/Appenders/Interfaces/IAppender.d.ts.map +1 -0
  192. package/Logging/Appenders/Interfaces/IAppender.js +4 -0
  193. package/Logging/Appenders/Interfaces/IAppender.js.map +1 -0
  194. package/Logging/Appenders/Interfaces/IAppenderConfig.d.ts +9 -0
  195. package/Logging/Appenders/Interfaces/IAppenderConfig.d.ts.map +1 -0
  196. package/Logging/Appenders/Interfaces/IAppenderConfig.js +3 -0
  197. package/Logging/Appenders/Interfaces/IAppenderConfig.js.map +1 -0
  198. package/Logging/Appenders/LogLevelAppender.d.ts +29 -0
  199. package/Logging/Appenders/LogLevelAppender.d.ts.map +1 -0
  200. package/Logging/Appenders/LogLevelAppender.js +102 -0
  201. package/Logging/Appenders/LogLevelAppender.js.map +1 -0
  202. package/Logging/Appenders/MessageAppender.d.ts +26 -0
  203. package/Logging/Appenders/MessageAppender.d.ts.map +1 -0
  204. package/Logging/Appenders/MessageAppender.js +91 -0
  205. package/Logging/Appenders/MessageAppender.js.map +1 -0
  206. package/Logging/Appenders/Styles/AppenderTerminalColors.d.ts +20 -0
  207. package/Logging/Appenders/Styles/AppenderTerminalColors.d.ts.map +1 -0
  208. package/Logging/Appenders/Styles/AppenderTerminalColors.js +4 -0
  209. package/Logging/Appenders/Styles/AppenderTerminalColors.js.map +1 -0
  210. package/Logging/Appenders/Styles/LogLevelAppenderStyle.d.ts +5 -0
  211. package/Logging/Appenders/Styles/LogLevelAppenderStyle.d.ts.map +1 -0
  212. package/Logging/Appenders/Styles/LogLevelAppenderStyle.js +3 -0
  213. package/Logging/Appenders/Styles/LogLevelAppenderStyle.js.map +1 -0
  214. package/Logging/Appenders/TagAppender.d.ts +25 -0
  215. package/Logging/Appenders/TagAppender.d.ts.map +1 -0
  216. package/Logging/Appenders/TagAppender.js +49 -0
  217. package/Logging/Appenders/TagAppender.js.map +1 -0
  218. package/Logging/Appenders/TimeStampAppender.d.ts +22 -0
  219. package/Logging/Appenders/TimeStampAppender.d.ts.map +1 -0
  220. package/Logging/Appenders/TimeStampAppender.js +44 -0
  221. package/Logging/Appenders/TimeStampAppender.js.map +1 -0
  222. package/Logging/Interfaces/ILogEntry.d.ts +13 -0
  223. package/Logging/Interfaces/ILogEntry.d.ts.map +1 -0
  224. package/Logging/Interfaces/ILogEntry.js +4 -0
  225. package/Logging/Interfaces/ILogEntry.js.map +1 -0
  226. package/Logging/Interfaces/ILogOptions.d.ts +17 -0
  227. package/Logging/Interfaces/ILogOptions.d.ts.map +1 -0
  228. package/Logging/Interfaces/ILogOptions.js +4 -0
  229. package/Logging/Interfaces/ILogOptions.js.map +1 -0
  230. package/Logging/Interfaces/ILoggerScope.d.ts +7 -0
  231. package/Logging/Interfaces/ILoggerScope.d.ts.map +1 -0
  232. package/Logging/Interfaces/ILoggerScope.js +3 -0
  233. package/Logging/Interfaces/ILoggerScope.js.map +1 -0
  234. package/Logging/Interfaces/ILoggerScopeConfig.d.ts +9 -0
  235. package/Logging/Interfaces/ILoggerScopeConfig.d.ts.map +1 -0
  236. package/Logging/Interfaces/ILoggerScopeConfig.js +4 -0
  237. package/Logging/Interfaces/ILoggerScopeConfig.js.map +1 -0
  238. package/Logging/LogLevel.d.ts +5 -0
  239. package/Logging/LogLevel.d.ts.map +1 -0
  240. package/Logging/LogLevel.js +3 -0
  241. package/Logging/LogLevel.js.map +1 -0
  242. package/Logging/Logger.d.ts +148 -0
  243. package/Logging/Logger.d.ts.map +1 -0
  244. package/Logging/Logger.js +326 -0
  245. package/Logging/Logger.js.map +1 -0
  246. package/Logging/LoggerConfig.d.ts +45 -0
  247. package/Logging/LoggerConfig.d.ts.map +1 -0
  248. package/Logging/LoggerConfig.js +83 -0
  249. package/Logging/LoggerConfig.js.map +1 -0
  250. package/Logging/LoggerScope.d.ts +16 -0
  251. package/Logging/LoggerScope.d.ts.map +1 -0
  252. package/Logging/LoggerScope.js +81 -0
  253. package/Logging/LoggerScope.js.map +1 -0
  254. package/Logging/LoggerSuppressor.d.ts +10 -0
  255. package/Logging/LoggerSuppressor.d.ts.map +1 -0
  256. package/Logging/LoggerSuppressor.js +43 -0
  257. package/Logging/LoggerSuppressor.js.map +1 -0
  258. package/Logging/LoggerUtils.d.ts +47 -0
  259. package/Logging/LoggerUtils.d.ts.map +1 -0
  260. package/Logging/LoggerUtils.js +102 -0
  261. package/Logging/LoggerUtils.js.map +1 -0
  262. package/Logging/vNext/ConsoleLogger.d.ts +56 -0
  263. package/Logging/vNext/ConsoleLogger.d.ts.map +1 -0
  264. package/Logging/vNext/ConsoleLogger.js +76 -0
  265. package/Logging/vNext/ConsoleLogger.js.map +1 -0
  266. package/Logging/vNext/Interfaces/ILogger.d.ts +38 -0
  267. package/Logging/vNext/Interfaces/ILogger.d.ts.map +1 -0
  268. package/Logging/vNext/Interfaces/ILogger.js +3 -0
  269. package/Logging/vNext/Interfaces/ILogger.js.map +1 -0
  270. package/Logging/vNext/LoggerExtensions.d.ts +79 -0
  271. package/Logging/vNext/LoggerExtensions.d.ts.map +1 -0
  272. package/Logging/vNext/LoggerExtensions.js +175 -0
  273. package/Logging/vNext/LoggerExtensions.js.map +1 -0
  274. package/Logging/vNext/Styles/Style.d.ts +9 -0
  275. package/Logging/vNext/Styles/Style.d.ts.map +1 -0
  276. package/Logging/vNext/Styles/Style.js +17 -0
  277. package/Logging/vNext/Styles/Style.js.map +1 -0
  278. package/Logging/vNext/Styles/StyleDirectives.d.ts +61 -0
  279. package/Logging/vNext/Styles/StyleDirectives.d.ts.map +1 -0
  280. package/Logging/vNext/Styles/StyleDirectives.js +118 -0
  281. package/Logging/vNext/Styles/StyleDirectives.js.map +1 -0
  282. package/System/Args.d.ts +20 -0
  283. package/System/Args.d.ts.map +1 -0
  284. package/System/Args.js +45 -0
  285. package/System/Args.js.map +1 -0
  286. package/System/Array.d.ts +41 -0
  287. package/System/Array.d.ts.map +1 -0
  288. package/System/Array.js +91 -0
  289. package/System/Array.js.map +1 -0
  290. package/System/Assign.d.ts +12 -0
  291. package/System/Assign.d.ts.map +1 -0
  292. package/System/Assign.js +40 -0
  293. package/System/Assign.js.map +1 -0
  294. package/System/Boolean.d.ts +20 -0
  295. package/System/Boolean.d.ts.map +1 -0
  296. package/System/Boolean.js +52 -0
  297. package/System/Boolean.js.map +1 -0
  298. package/System/Error.d.ts +9 -0
  299. package/System/Error.d.ts.map +1 -0
  300. package/System/Error.js +20 -0
  301. package/System/Error.js.map +1 -0
  302. package/System/Errors.d.ts +7 -0
  303. package/System/Errors.d.ts.map +1 -0
  304. package/System/Errors.js +18 -0
  305. package/System/Errors.js.map +1 -0
  306. package/System/Formatter.d.ts +4 -0
  307. package/System/Formatter.d.ts.map +1 -0
  308. package/System/Formatter.js +17 -0
  309. package/System/Formatter.js.map +1 -0
  310. package/System/Guard.d.ts +5 -0
  311. package/System/Guard.d.ts.map +1 -0
  312. package/System/Guard.js +29 -0
  313. package/System/Guard.js.map +1 -0
  314. package/System/Interfaces/IType.d.ts +7 -0
  315. package/System/Interfaces/IType.d.ts.map +1 -0
  316. package/System/Interfaces/IType.js +3 -0
  317. package/System/Interfaces/IType.js.map +1 -0
  318. package/System/Interfaces/IUnknown.d.ts +7 -0
  319. package/System/Interfaces/IUnknown.d.ts.map +1 -0
  320. package/System/Interfaces/IUnknown.js +3 -0
  321. package/System/Interfaces/IUnknown.js.map +1 -0
  322. package/System/List.d.ts +27 -0
  323. package/System/List.d.ts.map +1 -0
  324. package/System/List.js +84 -0
  325. package/System/List.js.map +1 -0
  326. package/System/Number.d.ts +10 -0
  327. package/System/Number.d.ts.map +1 -0
  328. package/System/Number.js +28 -0
  329. package/System/Number.js.map +1 -0
  330. package/System/Process.d.ts +30 -0
  331. package/System/Process.d.ts.map +1 -0
  332. package/System/Process.js +167 -0
  333. package/System/Process.js.map +1 -0
  334. package/System/Require.d.ts +8 -0
  335. package/System/Require.d.ts.map +1 -0
  336. package/System/Require.js +20 -0
  337. package/System/Require.js.map +1 -0
  338. package/System/Stopwatch.d.ts +19 -0
  339. package/System/Stopwatch.d.ts.map +1 -0
  340. package/System/Stopwatch.js +73 -0
  341. package/System/Stopwatch.js.map +1 -0
  342. package/System/String.d.ts +19 -0
  343. package/System/String.d.ts.map +1 -0
  344. package/System/String.js +177 -0
  345. package/System/String.js.map +1 -0
  346. package/System/Time.d.ts +7 -0
  347. package/System/Time.d.ts.map +1 -0
  348. package/System/Time.js +16 -0
  349. package/System/Time.js.map +1 -0
  350. package/System/Version.d.ts +20 -0
  351. package/System/Version.d.ts.map +1 -0
  352. package/System/Version.js +135 -0
  353. package/System/Version.js.map +1 -0
  354. package/Terminal/Terminal.d.ts +7 -0
  355. package/Terminal/Terminal.d.ts.map +1 -0
  356. package/Terminal/Terminal.js +21 -0
  357. package/Terminal/Terminal.js.map +1 -0
  358. package/Terminal/TerminalColorType.d.ts +2 -0
  359. package/Terminal/TerminalColorType.d.ts.map +1 -0
  360. package/Terminal/TerminalColorType.js +3 -0
  361. package/Terminal/TerminalColorType.js.map +1 -0
  362. package/Terminal/TerminalColors.d.ts +38 -0
  363. package/Terminal/TerminalColors.d.ts.map +1 -0
  364. package/Terminal/TerminalColors.js +151 -0
  365. package/Terminal/TerminalColors.js.map +1 -0
  366. package/Terminal/TerminalSymbolType.d.ts +2 -0
  367. package/Terminal/TerminalSymbolType.d.ts.map +1 -0
  368. package/Terminal/TerminalSymbolType.js +3 -0
  369. package/Terminal/TerminalSymbolType.js.map +1 -0
  370. package/Terminal/TerminalSymbols.d.ts +7 -0
  371. package/Terminal/TerminalSymbols.d.ts.map +1 -0
  372. package/Terminal/TerminalSymbols.js +30 -0
  373. package/Terminal/TerminalSymbols.js.map +1 -0
  374. package/package.json +26 -0
package/IO/Glob.d.ts ADDED
@@ -0,0 +1,35 @@
1
+ import fastGlob from 'fast-glob';
2
+ /**
3
+ * Represents the `IGlobOptions` interface.
4
+ *
5
+ * @public
6
+ */
7
+ export interface IGlobOptions extends fastGlob.Options {
8
+ expandDirectories?: boolean | ReadonlyArray<string> | {
9
+ files?: ReadonlyArray<string>;
10
+ extensions?: ReadonlyArray<string>;
11
+ };
12
+ }
13
+ /**
14
+ * The `Glob` class.
15
+ *
16
+ * @public
17
+ */
18
+ export declare class Glob {
19
+ /**
20
+ * @public
21
+ * @static
22
+ */
23
+ static match(patterns: string | ReadonlyArray<string>, options?: IGlobOptions): Promise<Array<fastGlob.Entry>>;
24
+ /**
25
+ * @public
26
+ * @static
27
+ */
28
+ static matchSync(patterns: string | ReadonlyArray<string>, options?: IGlobOptions): Array<fastGlob.Entry>;
29
+ /**
30
+ * @private
31
+ * @static
32
+ */
33
+ private static generateGlobTasks;
34
+ }
35
+ //# sourceMappingURL=Glob.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Glob.d.ts","sourceRoot":"","sources":["../../src/IO/Glob.ts"],"names":[],"mappings":"AAGA,OAAO,QAAwB,MAAM,WAAW,CAAC;AAKjD;;;;GAIG;AACH,MAAM,WAAW,YAAa,SAAQ,QAAQ,CAAC,OAAO;IAIlD,iBAAiB,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG;QAClD,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QAC9B,UAAU,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;KACtC,CAAC;CAIL;AAED;;;;GAIG;AACH,qBAAa,IAAI;IAIb;;;OAGG;WACiB,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IA0B3H;;;OAGG;WACW,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;IAmBhH;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;CA4DnC"}
package/IO/Glob.js ADDED
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+ // #region Imports
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.Glob = void 0;
8
+ const dir_glob_1 = __importDefault(require("dir-glob"));
9
+ const fast_glob_1 = __importDefault(require("fast-glob"));
10
+ const fs_1 = __importDefault(require("fs"));
11
+ /**
12
+ * The `Glob` class.
13
+ *
14
+ * @public
15
+ */
16
+ class Glob {
17
+ // #region Methods
18
+ /**
19
+ * @public
20
+ * @static
21
+ */
22
+ static async match(patterns, options) {
23
+ const globTasks = Glob.generateGlobTasks(patterns, options);
24
+ const getFilter = async () => (_entry) => false;
25
+ const getTasks = async () => {
26
+ const tasks = await Promise.all(globTasks.map(async (task) => {
27
+ const globs = await getPattern(task, dir_glob_1.default);
28
+ return Promise.all(globs.map(globToTask(task)));
29
+ }));
30
+ return arrayUnion(...tasks);
31
+ };
32
+ const [filter, tasks] = await Promise.all([
33
+ getFilter(),
34
+ getTasks()
35
+ ]);
36
+ const paths = await Promise.all(tasks.map((task) => (0, fast_glob_1.default)(task.pattern, task.options)));
37
+ const getPathString = (p) => p.stats instanceof fs_1.default.Stats ? p.path : p;
38
+ return arrayUnion(...paths).filter((x) => !filter(getPathString(x)));
39
+ }
40
+ /**
41
+ * @public
42
+ * @static
43
+ */
44
+ static matchSync(patterns, options) {
45
+ const globTasks = Glob.generateGlobTasks(patterns, options);
46
+ const tasks = [];
47
+ for (const task of globTasks) {
48
+ const newTask = getPattern(task, dir_glob_1.default.sync).map(globToTaskSync(task));
49
+ tasks.push(...newTask);
50
+ }
51
+ const filter = (_options) => false;
52
+ let matches = [];
53
+ for (const task of tasks) {
54
+ matches = arrayUnion(matches, fast_glob_1.default.sync(task.pattern, task.options));
55
+ }
56
+ return matches.filter((x) => !filter(x));
57
+ }
58
+ /**
59
+ * @private
60
+ * @static
61
+ */
62
+ static generateGlobTasks(patterns, taskOptions) {
63
+ if (taskOptions) {
64
+ taskOptions = {
65
+ ...taskOptions,
66
+ objectMode: true
67
+ };
68
+ }
69
+ patterns = arrayUnion([patterns].flat());
70
+ if (!patterns.every((pattern) => typeof pattern === 'string')) {
71
+ throw new TypeError('Patterns must be a string or an array of strings');
72
+ }
73
+ if (taskOptions?.cwd) {
74
+ const stat = fs_1.default.statSync(taskOptions.cwd);
75
+ if (!stat.isDirectory()) {
76
+ throw new Error('The `cwd` option must be a path to a directory');
77
+ }
78
+ }
79
+ const globTasks = new Array();
80
+ taskOptions = {
81
+ ignore: [],
82
+ expandDirectories: true,
83
+ ...taskOptions
84
+ };
85
+ for (const [index, pattern] of patterns.entries()) {
86
+ if (pattern.startsWith('!')) {
87
+ continue;
88
+ }
89
+ const ignore = patterns
90
+ .slice(index)
91
+ .filter((x) => x.startsWith('!'))
92
+ .map((pattern) => pattern.slice(1));
93
+ const options = {
94
+ ...taskOptions,
95
+ ignore: [
96
+ ...taskOptions.ignore ?? [],
97
+ ...ignore
98
+ ]
99
+ };
100
+ globTasks.push({
101
+ pattern,
102
+ options
103
+ });
104
+ }
105
+ return globTasks;
106
+ }
107
+ }
108
+ exports.Glob = Glob;
109
+ function getPattern(task, fn) {
110
+ return task.options.expandDirectories
111
+ ? globDirectories(task, fn)
112
+ : [task.pattern];
113
+ }
114
+ function globDirectories(task, fn) {
115
+ let options = {};
116
+ if (task.options.cwd) {
117
+ options.cwd = task.options.cwd;
118
+ }
119
+ if (Array.isArray(task.options.expandDirectories)) {
120
+ options = {
121
+ ...options,
122
+ files: task.options.expandDirectories
123
+ };
124
+ }
125
+ else if (typeof task.options.expandDirectories === 'object') {
126
+ options = {
127
+ ...options,
128
+ ...task.options.expandDirectories
129
+ };
130
+ }
131
+ return fn(task.pattern, options);
132
+ }
133
+ const globToTask = (task) => async (glob) => {
134
+ if (task.options.ignore && Array.isArray(task.options.ignore) && task.options.expandDirectories) {
135
+ task.options.ignore = await (0, dir_glob_1.default)(task.options.ignore);
136
+ }
137
+ return {
138
+ pattern: glob,
139
+ options: task.options
140
+ };
141
+ };
142
+ const globToTaskSync = (task) => (glob) => {
143
+ if (task.options.ignore && Array.isArray(task.options.ignore) && task.options.expandDirectories) {
144
+ task.options.ignore = dir_glob_1.default.sync(task.options.ignore);
145
+ }
146
+ return {
147
+ pattern: glob,
148
+ options: task.options
149
+ };
150
+ };
151
+ const arrayUnion = (...args) => [...new Set(args.flat())];
152
+ //# sourceMappingURL=Glob.js.map
package/IO/Glob.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Glob.js","sourceRoot":"","sources":["../../src/IO/Glob.ts"],"names":[],"mappings":"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"}
package/IO/Json.d.ts ADDED
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Represents any valid JSON value.
3
+ */
4
+ export type JSONValue = string | number | boolean | null | JSONArray | JSONObject;
5
+ /**
6
+ * Represents a JSON object, where keys are strings and values are valid JSON values.
7
+ */
8
+ export interface JSONObject {
9
+ [key: string]: JSONValue;
10
+ }
11
+ /**
12
+ * Represents a JSON array, which contains only valid JSON values.
13
+ */
14
+ export type JSONArray = Array<JSONValue>;
15
+ /**
16
+ * The `Json` class for handling JSON data.
17
+ *
18
+ * @public
19
+ */
20
+ export declare class Json {
21
+ private readonly _entries;
22
+ /**
23
+ * Constructs a new instance of the `Json` class.
24
+ *
25
+ * @private
26
+ * @param entries - The entries to initialize the JSON object.
27
+ */
28
+ private constructor();
29
+ /**
30
+ * Gets the entries of the JSON object.
31
+ *
32
+ * @public
33
+ */
34
+ get entries(): JSONObject;
35
+ /**
36
+ * Parses a JSON string into a `Json` instance.
37
+ *
38
+ * @public
39
+ * @static
40
+ * @param content - The JSON string to parse.
41
+ * @returns A `Json` instance representing the parsed data.
42
+ */
43
+ static parse(content: string): Json;
44
+ /**
45
+ * Creates a new `Json` instance from a JSON object.
46
+ *
47
+ * @public
48
+ * @static
49
+ * @param obj - The JSON object to create the instance from.
50
+ * @returns A `Json` instance representing the JSON object.
51
+ */
52
+ static from(obj: JSONObject): Json;
53
+ /**
54
+ * Converts the `Json` instance back to a JSON string.
55
+ *
56
+ * @public
57
+ * @returns A JSON string representation of the object.
58
+ */
59
+ toString(): string;
60
+ /**
61
+ * Retrieves a value by key from the JSON object.
62
+ *
63
+ * @public
64
+ * @param key - The key to retrieve the value for.
65
+ * @returns The value associated with the key.
66
+ */
67
+ getValue(key: string): JSONValue;
68
+ /**
69
+ * Sets a value by key in the JSON object.
70
+ *
71
+ * @public
72
+ * @param key - The key to set the value for.
73
+ * @param value - The value to set.
74
+ */
75
+ setValue(key: string, value: JSONValue): void;
76
+ /**
77
+ * Deletes a key-value pair from the JSON object.
78
+ *
79
+ * @public
80
+ * @param key - The key to delete.
81
+ */
82
+ deleteValue(key: string): void;
83
+ }
84
+ //# sourceMappingURL=Json.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Json.d.ts","sourceRoot":"","sources":["../../src/IO/Json.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,MAAM,MAAM,SAAS,GAAK,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,UAAU,CAAC;AAEpF;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;AAMzC;;;;GAIG;AACH,qBAAa,IAAI;IAIb,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;IAMtC;;;;;OAKG;IACH,OAAO;IAQP;;;;OAIG;IACH,IAAW,OAAO,IAAI,UAAU,CAE/B;IAMD;;;;;;;OAOG;WACW,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAS1C;;;;;;;OAOG;WACW,IAAI,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI;IAIzC;;;;;OAKG;IACI,QAAQ,IAAI,MAAM;IAQzB;;;;;;OAMG;IACI,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS;IAIvC;;;;;;OAMG;IACI,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IAIpD;;;;;OAKG;IACI,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAOxC"}
package/IO/Json.js ADDED
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ // #region Imports
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Json = void 0;
5
+ const jsonc_parser_1 = require("jsonc-parser");
6
+ const String_1 = require("../System/String");
7
+ // #region Imports
8
+ // #endregion
9
+ /**
10
+ * The `Json` class for handling JSON data.
11
+ *
12
+ * @public
13
+ */
14
+ class Json {
15
+ // #region Fields
16
+ _entries;
17
+ // #endregion
18
+ // #region Constructor
19
+ /**
20
+ * Constructs a new instance of the `Json` class.
21
+ *
22
+ * @private
23
+ * @param entries - The entries to initialize the JSON object.
24
+ */
25
+ constructor(entries) {
26
+ this._entries = entries;
27
+ }
28
+ // #endregion
29
+ // #region Properties
30
+ /**
31
+ * Gets the entries of the JSON object.
32
+ *
33
+ * @public
34
+ */
35
+ get entries() {
36
+ return this._entries;
37
+ }
38
+ // #endregion
39
+ // #region Methods
40
+ /**
41
+ * Parses a JSON string into a `Json` instance.
42
+ *
43
+ * @public
44
+ * @static
45
+ * @param content - The JSON string to parse.
46
+ * @returns A `Json` instance representing the parsed data.
47
+ */
48
+ static parse(content) {
49
+ try {
50
+ const parsedContent = (0, jsonc_parser_1.parse)(content);
51
+ return new Json(parsedContent);
52
+ }
53
+ catch (error) {
54
+ throw new Error(`Unable to parse JSON.${String_1.StringExtensions.newLine}${error.message}`);
55
+ }
56
+ }
57
+ /**
58
+ * Creates a new `Json` instance from a JSON object.
59
+ *
60
+ * @public
61
+ * @static
62
+ * @param obj - The JSON object to create the instance from.
63
+ * @returns A `Json` instance representing the JSON object.
64
+ */
65
+ static from(obj) {
66
+ return new Json(obj);
67
+ }
68
+ /**
69
+ * Converts the `Json` instance back to a JSON string.
70
+ *
71
+ * @public
72
+ * @returns A JSON string representation of the object.
73
+ */
74
+ toString() {
75
+ try {
76
+ return JSON.stringify(this._entries, null, 2);
77
+ }
78
+ catch (error) {
79
+ throw new Error(`Unable to convert to JSON string.${String_1.StringExtensions.newLine}${error.message}`);
80
+ }
81
+ }
82
+ /**
83
+ * Retrieves a value by key from the JSON object.
84
+ *
85
+ * @public
86
+ * @param key - The key to retrieve the value for.
87
+ * @returns The value associated with the key.
88
+ */
89
+ getValue(key) {
90
+ return this._entries[key];
91
+ }
92
+ /**
93
+ * Sets a value by key in the JSON object.
94
+ *
95
+ * @public
96
+ * @param key - The key to set the value for.
97
+ * @param value - The value to set.
98
+ */
99
+ setValue(key, value) {
100
+ this._entries[key] = value;
101
+ }
102
+ /**
103
+ * Deletes a key-value pair from the JSON object.
104
+ *
105
+ * @public
106
+ * @param key - The key to delete.
107
+ */
108
+ deleteValue(key) {
109
+ // eslint-disable-next-line @typescript-eslint/no-dynamic-delete
110
+ delete this._entries[key];
111
+ }
112
+ }
113
+ exports.Json = Json;
114
+ //# sourceMappingURL=Json.js.map
package/IO/Json.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Json.js","sourceRoot":"","sources":["../../src/IO/Json.ts"],"names":[],"mappings":";AAAA,kBAAkB;;;AAElB,+CAAmD;AACnD,6CAAoD;AAuBpD,kBAAkB;AAElB,aAAa;AAEb;;;;GAIG;AACH,MAAa,IAAI;IAEb,iBAAiB;IAEA,QAAQ,CAAa;IAEtC,aAAa;IAEb,sBAAsB;IAEtB;;;;;OAKG;IACH,YAAoB,OAAmB;QACnC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;IAED,aAAa;IAEb,qBAAqB;IAErB;;;;OAIG;IACH,IAAW,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,aAAa;IAEb,kBAAkB;IAElB;;;;;;;OAOG;IACI,MAAM,CAAC,KAAK,CAAC,OAAe;QAC/B,IAAI,CAAC;YACD,MAAM,aAAa,GAAG,IAAA,oBAAU,EAAC,OAAO,CAAe,CAAC;YACxD,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,wBAAwB,yBAAgB,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACxF,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,IAAI,CAAC,GAAe;QAC9B,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED;;;;;OAKG;IACI,QAAQ;QACX,IAAI,CAAC;YACD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,oCAAoC,yBAAgB,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACpG,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACI,QAAQ,CAAC,GAAW;QACvB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;;OAMG;IACI,QAAQ,CAAC,GAAW,EAAE,KAAgB;QACzC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACI,WAAW,CAAC,GAAW;QAC1B,gEAAgE;QAChE,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;CAIJ;AAnHD,oBAmHC"}
package/IO/Path.d.ts ADDED
@@ -0,0 +1,125 @@
1
+ import { type IGlobOptions } from './Glob';
2
+ export declare class Path {
3
+ /**
4
+ * Gets the path separator
5
+ * @public
6
+ * @static
7
+ * @returns {string}
8
+ */
9
+ static get separator(): string;
10
+ /**
11
+ * Changes the extension of a file path. The path parameter specifies a file path, and the extension parameter specifies a file extension (with a leading period, such as ".json" or ".js").
12
+ * @public
13
+ * @static
14
+ * @param {string} path The path
15
+ * @param {string} extension The extenison
16
+ * @returns {string} The function returns a file path with the same root, directory, and base name parts as path, but with the file extension changed to the specified extension. If path is null, the function returns null. If path does not contain a file extension, the new file extension is appended to the path. If extension is null, any exsiting extension is removed from path.
17
+ */
18
+ static changeExtension(path: string, extension: string): string;
19
+ /**
20
+ * Get the directory name of the given path.
21
+ * @public
22
+ * @static
23
+ * @param {string} path The path
24
+ * @returns {string} This method effectively removes the last element of the given file path, i.e. it returns a string consisting of all characters up to but not including the last backslash ("\") in the file path. The returned value is null if the file path is null or if the file path denotes a root (such as "\", "C:", or "\\server\share").
25
+ */
26
+ static getDirectoryName(path: string): string;
27
+ /**
28
+ * Get a string array of the given path.
29
+ * @public
30
+ * @static
31
+ * @param {string} path The path
32
+ * @returns {Array<string>}
33
+ */
34
+ static getDirectorySegments(path: string): Array<string>;
35
+ /**
36
+ * @public
37
+ * @static
38
+ * @param {string} path The path
39
+ * @returns {string} The name and extension parts of the given path. The resulting string contains the characters of path that follow the last backslash ("\"), slash ("/"), or colon (":") character in path. The resulting string is the entire path if path contains no backslash after removing trailing slashes, slash, or colon characters. The resulting string is null if path is null.
40
+ */
41
+ static getFileName(path: string): string;
42
+ /**
43
+ * @public
44
+ * @static
45
+ * @param {string} path The path
46
+ * @returns {string} Returns the file name of the specified path string without the extension.
47
+ */
48
+ static getFileNameWithoutExtension(path: string): string;
49
+ /**
50
+ * @public
51
+ * @static
52
+ * @param {string} path The path
53
+ * @param {boolean} includeDot If true, the returned string includes the period (.) before the extension. If false or omitted, the period is not included.
54
+ * @returns {string} Returns the extension of the specified path string.
55
+ */
56
+ static getExtension(path: string, includeDot?: boolean): string;
57
+ /**
58
+ * @public
59
+ * @static
60
+ * @param {boolean} alphanumeric If true, the generated name will only contain alphanumeric characters.
61
+ * @returns {string} Returns a cryptographically strong random 8.3 string that can be used as either a folder name or a file name.
62
+ */
63
+ static getRandomFileName(alphanumeric?: boolean): string;
64
+ /**
65
+ * @public
66
+ * @static
67
+ * @param {Array<string>} path Array of path strings
68
+ * @returns {string}
69
+ */
70
+ static combine(...path: Array<string>): string;
71
+ /**
72
+ * Normalize file path slashes to be unix-like forward slashes.
73
+ * @public
74
+ * @static
75
+ * @param {string} path Path string
76
+ * @param {boolean} stripTrailing By default trailing slashes are removed. Pass false as the last argument to disable this behavior and keep trailing slashes
77
+ * @returns {string}
78
+ */
79
+ static normalize(path: string, stripTrailing?: boolean): string;
80
+ /**
81
+ * Converts a relative path to an absolute path based on a given base path.
82
+ *
83
+ * @public
84
+ * @static
85
+ * @param {string} paths Path string
86
+ * @returns {string}
87
+ */
88
+ static resolve(...paths: Array<string>): string;
89
+ /**
90
+ * Determines whether path is an absolute path. An absolute path will always resolve to the same location, regardless of the working directory.
91
+ * @public
92
+ * @static
93
+ * @param {string} path Path string
94
+ * @returns {boolean}
95
+ */
96
+ static isAbsolute(path: string): boolean;
97
+ /**
98
+ * Find files and directories using glob patterns.
99
+ *
100
+ * @public
101
+ * @static
102
+ * @param {string | string[]} pattern - The globbing pattern
103
+ * @param {object} options The globbing options.
104
+ * @returns {string[]} The Files
105
+ */
106
+ static glob(pattern: string | Array<string>, options?: IGlobOptions): Array<string>;
107
+ /**
108
+ * Solve the relative path from {from} to {to} based on the current working directory.
109
+ * At times we have two absolute paths, and we need to derive the relative path from one to the other.
110
+ * This is actually the reverse transform of path.resolve.
111
+ *
112
+ * @public
113
+ * @static
114
+ * @param {string} from The from path.
115
+ * @param {string} to The to options.
116
+ * @returns {string} The relative Files
117
+ * @example
118
+ * ```typescript
119
+ * Path.relative('/data/orandea/test/aaa', '/data/orandea/impl/bbb');
120
+ * // Returns: '../../impl/bbb'
121
+ * ```
122
+ */
123
+ static relative(from: string, to: string): string;
124
+ }
125
+ //# sourceMappingURL=Path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Path.d.ts","sourceRoot":"","sources":["../../src/IO/Path.ts"],"names":[],"mappings":"AAKA,OAAO,EAAQ,KAAK,YAAY,EAAE,MAAM,QAAQ,CAAC;AAIjD,qBAAa,IAAI;IAIb;;;;;OAKG;IACH,WAAkB,SAAS,IAAI,MAAM,CAEpC;IAMD;;;;;;;OAOG;WACW,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAwBtE;;;;;;OAMG;WACW,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIpD;;;;;;OAMG;WACW,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAI/D;;;;;OAKG;WACW,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI/C;;;;;OAKG;WACW,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAY/D;;;;;;OAMG;WACW,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM;IAKtE;;;;;OAKG;WACW,iBAAiB,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,MAAM;IAiB/D;;;;;OAKG;WACW,OAAO,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM;IAUrD;;;;;;;OAOG;WACW,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM;IAmCtE;;;;;;;OAOG;WACW,OAAO,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM;IAItD;;;;;;OAMG;WACW,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI/C;;;;;;;;OAQG;WACW,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC;IAkC1F;;;;;;;;;;;;;;;OAeG;WACW,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM;CAM3D"}