@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.
- package/Cli/Abstracts/ProgramCommandBase.d.ts +60 -0
- package/Cli/Abstracts/ProgramCommandBase.d.ts.map +1 -0
- package/Cli/Abstracts/ProgramCommandBase.js +64 -0
- package/Cli/Abstracts/ProgramCommandBase.js.map +1 -0
- package/Cli/Builders/ProgramBuilder.d.ts +39 -0
- package/Cli/Builders/ProgramBuilder.d.ts.map +1 -0
- package/Cli/Builders/ProgramBuilder.js +73 -0
- package/Cli/Builders/ProgramBuilder.js.map +1 -0
- package/Cli/Builders/ProgramCommandBuilder.d.ts +78 -0
- package/Cli/Builders/ProgramCommandBuilder.d.ts.map +1 -0
- package/Cli/Builders/ProgramCommandBuilder.js +147 -0
- package/Cli/Builders/ProgramCommandBuilder.js.map +1 -0
- package/Cli/Interfaces/IProgramArg.d.ts +11 -0
- package/Cli/Interfaces/IProgramArg.d.ts.map +1 -0
- package/Cli/Interfaces/IProgramArg.js +4 -0
- package/Cli/Interfaces/IProgramArg.js.map +1 -0
- package/Cli/Interfaces/IProgramArgOptions.d.ts +9 -0
- package/Cli/Interfaces/IProgramArgOptions.d.ts.map +1 -0
- package/Cli/Interfaces/IProgramArgOptions.js +4 -0
- package/Cli/Interfaces/IProgramArgOptions.js.map +1 -0
- package/Cli/Interfaces/IProgramArgs.d.ts +27 -0
- package/Cli/Interfaces/IProgramArgs.d.ts.map +1 -0
- package/Cli/Interfaces/IProgramArgs.js +4 -0
- package/Cli/Interfaces/IProgramArgs.js.map +1 -0
- package/Cli/Interfaces/IProgramCommand.d.ts +53 -0
- package/Cli/Interfaces/IProgramCommand.d.ts.map +1 -0
- package/Cli/Interfaces/IProgramCommand.js +4 -0
- package/Cli/Interfaces/IProgramCommand.js.map +1 -0
- package/Cli/Interfaces/IProgramCommands.d.ts +47 -0
- package/Cli/Interfaces/IProgramCommands.d.ts.map +1 -0
- package/Cli/Interfaces/IProgramCommands.js +4 -0
- package/Cli/Interfaces/IProgramCommands.js.map +1 -0
- package/Cli/Interfaces/IProgramConfig.d.ts +10 -0
- package/Cli/Interfaces/IProgramConfig.d.ts.map +1 -0
- package/Cli/Interfaces/IProgramConfig.js +3 -0
- package/Cli/Interfaces/IProgramConfig.js.map +1 -0
- package/Cli/Interfaces/IProgramInit.d.ts +14 -0
- package/Cli/Interfaces/IProgramInit.d.ts.map +1 -0
- package/Cli/Interfaces/IProgramInit.js +3 -0
- package/Cli/Interfaces/IProgramInit.js.map +1 -0
- package/Cli/Program.d.ts +97 -0
- package/Cli/Program.d.ts.map +1 -0
- package/Cli/Program.js +217 -0
- package/Cli/Program.js.map +1 -0
- package/Cli/ProgramArgs.d.ts +39 -0
- package/Cli/ProgramArgs.d.ts.map +1 -0
- package/Cli/ProgramArgs.js +83 -0
- package/Cli/ProgramArgs.js.map +1 -0
- package/Cli/ProgramCommandResult.d.ts +13 -0
- package/Cli/ProgramCommandResult.d.ts.map +1 -0
- package/Cli/ProgramCommandResult.js +3 -0
- package/Cli/ProgramCommandResult.js.map +1 -0
- package/Cli/ProgramCommands.d.ts +66 -0
- package/Cli/ProgramCommands.d.ts.map +1 -0
- package/Cli/ProgramCommands.js +173 -0
- package/Cli/ProgramCommands.js.map +1 -0
- package/Cli/ProgramConfig.d.ts +24 -0
- package/Cli/ProgramConfig.d.ts.map +1 -0
- package/Cli/ProgramConfig.js +51 -0
- package/Cli/ProgramConfig.js.map +1 -0
- package/Cli/ProgramDoneFn.d.ts +5 -0
- package/Cli/ProgramDoneFn.d.ts.map +1 -0
- package/Cli/ProgramDoneFn.js +3 -0
- package/Cli/ProgramDoneFn.js.map +1 -0
- package/Compiler/TypeScript.d.ts +19 -0
- package/Compiler/TypeScript.d.ts.map +1 -0
- package/Compiler/TypeScript.js +166 -0
- package/Compiler/TypeScript.js.map +1 -0
- package/DI/Container.d.ts +73 -0
- package/DI/Container.d.ts.map +1 -0
- package/DI/Container.js +143 -0
- package/DI/Container.js.map +1 -0
- package/DI/Inject.d.ts +11 -0
- package/DI/Inject.d.ts.map +1 -0
- package/DI/Inject.js +18 -0
- package/DI/Inject.js.map +1 -0
- package/Decorators/EnumerableDecorator.d.ts +6 -0
- package/Decorators/EnumerableDecorator.d.ts.map +1 -0
- package/Decorators/EnumerableDecorator.js +18 -0
- package/Decorators/EnumerableDecorator.js.map +1 -0
- package/Events/AsyncEventEmitter.d.ts +8 -0
- package/Events/AsyncEventEmitter.d.ts.map +1 -0
- package/Events/AsyncEventEmitter.js +37 -0
- package/Events/AsyncEventEmitter.js.map +1 -0
- package/IO/CustomElementManifest.d.ts +254 -0
- package/IO/CustomElementManifest.d.ts.map +1 -0
- package/IO/CustomElementManifest.js +56 -0
- package/IO/CustomElementManifest.js.map +1 -0
- package/IO/Directory.d.ts +78 -0
- package/IO/Directory.d.ts.map +1 -0
- package/IO/Directory.js +184 -0
- package/IO/Directory.js.map +1 -0
- package/IO/Encoding.d.ts +2 -0
- package/IO/Encoding.d.ts.map +1 -0
- package/IO/Encoding.js +3 -0
- package/IO/Encoding.js.map +1 -0
- package/IO/File.d.ts +148 -0
- package/IO/File.d.ts.map +1 -0
- package/IO/File.js +314 -0
- package/IO/File.js.map +1 -0
- package/IO/FileSystemInfo.d.ts +46 -0
- package/IO/FileSystemInfo.d.ts.map +1 -0
- package/IO/FileSystemInfo.js +129 -0
- package/IO/FileSystemInfo.js.map +1 -0
- package/IO/FileSystemWatcher.d.ts +49 -0
- package/IO/FileSystemWatcher.d.ts.map +1 -0
- package/IO/FileSystemWatcher.js +93 -0
- package/IO/FileSystemWatcher.js.map +1 -0
- package/IO/Glob.d.ts +35 -0
- package/IO/Glob.d.ts.map +1 -0
- package/IO/Glob.js +152 -0
- package/IO/Glob.js.map +1 -0
- package/IO/Json.d.ts +84 -0
- package/IO/Json.d.ts.map +1 -0
- package/IO/Json.js +114 -0
- package/IO/Json.js.map +1 -0
- package/IO/Path.d.ts +125 -0
- package/IO/Path.d.ts.map +1 -0
- package/IO/Path.js +283 -0
- package/IO/Path.js.map +1 -0
- package/IO/PcfControlManifest.d.ts +79 -0
- package/IO/PcfControlManifest.d.ts.map +1 -0
- package/IO/PcfControlManifest.js +93 -0
- package/IO/PcfControlManifest.js.map +1 -0
- package/IO/Reader/Interfaces/IFileReader.d.ts +30 -0
- package/IO/Reader/Interfaces/IFileReader.d.ts.map +1 -0
- package/IO/Reader/Interfaces/IFileReader.js +3 -0
- package/IO/Reader/Interfaces/IFileReader.js.map +1 -0
- package/IO/Reader/TextFileReader.d.ts +53 -0
- package/IO/Reader/TextFileReader.d.ts.map +1 -0
- package/IO/Reader/TextFileReader.js +167 -0
- package/IO/Reader/TextFileReader.js.map +1 -0
- package/IO/Resx.d.ts +49 -0
- package/IO/Resx.d.ts.map +1 -0
- package/IO/Resx.js +95 -0
- package/IO/Resx.js.map +1 -0
- package/IO/SymbolikLink.d.ts +6 -0
- package/IO/SymbolikLink.d.ts.map +1 -0
- package/IO/SymbolikLink.js +10 -0
- package/IO/SymbolikLink.js.map +1 -0
- package/IO/Template.d.ts +41 -0
- package/IO/Template.d.ts.map +1 -0
- package/IO/Template.js +71 -0
- package/IO/Template.js.map +1 -0
- package/IO/TemporaryDirectory.d.ts +28 -0
- package/IO/TemporaryDirectory.d.ts.map +1 -0
- package/IO/TemporaryDirectory.js +76 -0
- package/IO/TemporaryDirectory.js.map +1 -0
- package/IO/TemporaryFile.d.ts +28 -0
- package/IO/TemporaryFile.d.ts.map +1 -0
- package/IO/TemporaryFile.js +77 -0
- package/IO/TemporaryFile.js.map +1 -0
- package/IO/Writer/Interfaces/IFileWriter.d.ts +31 -0
- package/IO/Writer/Interfaces/IFileWriter.d.ts.map +1 -0
- package/IO/Writer/Interfaces/IFileWriter.js +4 -0
- package/IO/Writer/Interfaces/IFileWriter.js.map +1 -0
- package/IO/Writer/TextFileWriter.d.ts +56 -0
- package/IO/Writer/TextFileWriter.d.ts.map +1 -0
- package/IO/Writer/TextFileWriter.js +129 -0
- package/IO/Writer/TextFileWriter.js.map +1 -0
- package/IO/vNext/FileCache.d.ts +46 -0
- package/IO/vNext/FileCache.d.ts.map +1 -0
- package/IO/vNext/FileCache.js +94 -0
- package/IO/vNext/FileCache.js.map +1 -0
- package/IO/vNext/FileSystem.d.ts +107 -0
- package/IO/vNext/FileSystem.d.ts.map +1 -0
- package/IO/vNext/FileSystem.js +148 -0
- package/IO/vNext/FileSystem.js.map +1 -0
- package/IO/vNext/Interfaces/IFileCache.d.ts +56 -0
- package/IO/vNext/Interfaces/IFileCache.d.ts.map +1 -0
- package/IO/vNext/Interfaces/IFileCache.js +3 -0
- package/IO/vNext/Interfaces/IFileCache.js.map +1 -0
- package/IO/vNext/Interfaces/IFileSystem.d.ts +102 -0
- package/IO/vNext/Interfaces/IFileSystem.d.ts.map +1 -0
- package/IO/vNext/Interfaces/IFileSystem.js +4 -0
- package/IO/vNext/Interfaces/IFileSystem.js.map +1 -0
- package/Index.d.ts +62 -0
- package/Index.d.ts.map +1 -0
- package/Index.js +132 -0
- package/Index.js.map +1 -0
- package/Intl/Languages.d.ts +12 -0
- package/Intl/Languages.d.ts.map +1 -0
- package/Intl/Languages.js +865 -0
- package/Intl/Languages.js.map +1 -0
- package/LICENSE +21 -0
- package/Logging/Appenders/Abstracts/Appender.d.ts +21 -0
- package/Logging/Appenders/Abstracts/Appender.d.ts.map +1 -0
- package/Logging/Appenders/Abstracts/Appender.js +78 -0
- package/Logging/Appenders/Abstracts/Appender.js.map +1 -0
- package/Logging/Appenders/Interfaces/IAppender.d.ts +13 -0
- package/Logging/Appenders/Interfaces/IAppender.d.ts.map +1 -0
- package/Logging/Appenders/Interfaces/IAppender.js +4 -0
- package/Logging/Appenders/Interfaces/IAppender.js.map +1 -0
- package/Logging/Appenders/Interfaces/IAppenderConfig.d.ts +9 -0
- package/Logging/Appenders/Interfaces/IAppenderConfig.d.ts.map +1 -0
- package/Logging/Appenders/Interfaces/IAppenderConfig.js +3 -0
- package/Logging/Appenders/Interfaces/IAppenderConfig.js.map +1 -0
- package/Logging/Appenders/LogLevelAppender.d.ts +29 -0
- package/Logging/Appenders/LogLevelAppender.d.ts.map +1 -0
- package/Logging/Appenders/LogLevelAppender.js +102 -0
- package/Logging/Appenders/LogLevelAppender.js.map +1 -0
- package/Logging/Appenders/MessageAppender.d.ts +26 -0
- package/Logging/Appenders/MessageAppender.d.ts.map +1 -0
- package/Logging/Appenders/MessageAppender.js +91 -0
- package/Logging/Appenders/MessageAppender.js.map +1 -0
- package/Logging/Appenders/Styles/AppenderTerminalColors.d.ts +20 -0
- package/Logging/Appenders/Styles/AppenderTerminalColors.d.ts.map +1 -0
- package/Logging/Appenders/Styles/AppenderTerminalColors.js +4 -0
- package/Logging/Appenders/Styles/AppenderTerminalColors.js.map +1 -0
- package/Logging/Appenders/Styles/LogLevelAppenderStyle.d.ts +5 -0
- package/Logging/Appenders/Styles/LogLevelAppenderStyle.d.ts.map +1 -0
- package/Logging/Appenders/Styles/LogLevelAppenderStyle.js +3 -0
- package/Logging/Appenders/Styles/LogLevelAppenderStyle.js.map +1 -0
- package/Logging/Appenders/TagAppender.d.ts +25 -0
- package/Logging/Appenders/TagAppender.d.ts.map +1 -0
- package/Logging/Appenders/TagAppender.js +49 -0
- package/Logging/Appenders/TagAppender.js.map +1 -0
- package/Logging/Appenders/TimeStampAppender.d.ts +22 -0
- package/Logging/Appenders/TimeStampAppender.d.ts.map +1 -0
- package/Logging/Appenders/TimeStampAppender.js +44 -0
- package/Logging/Appenders/TimeStampAppender.js.map +1 -0
- package/Logging/Interfaces/ILogEntry.d.ts +13 -0
- package/Logging/Interfaces/ILogEntry.d.ts.map +1 -0
- package/Logging/Interfaces/ILogEntry.js +4 -0
- package/Logging/Interfaces/ILogEntry.js.map +1 -0
- package/Logging/Interfaces/ILogOptions.d.ts +17 -0
- package/Logging/Interfaces/ILogOptions.d.ts.map +1 -0
- package/Logging/Interfaces/ILogOptions.js +4 -0
- package/Logging/Interfaces/ILogOptions.js.map +1 -0
- package/Logging/Interfaces/ILoggerScope.d.ts +7 -0
- package/Logging/Interfaces/ILoggerScope.d.ts.map +1 -0
- package/Logging/Interfaces/ILoggerScope.js +3 -0
- package/Logging/Interfaces/ILoggerScope.js.map +1 -0
- package/Logging/Interfaces/ILoggerScopeConfig.d.ts +9 -0
- package/Logging/Interfaces/ILoggerScopeConfig.d.ts.map +1 -0
- package/Logging/Interfaces/ILoggerScopeConfig.js +4 -0
- package/Logging/Interfaces/ILoggerScopeConfig.js.map +1 -0
- package/Logging/LogLevel.d.ts +5 -0
- package/Logging/LogLevel.d.ts.map +1 -0
- package/Logging/LogLevel.js +3 -0
- package/Logging/LogLevel.js.map +1 -0
- package/Logging/Logger.d.ts +148 -0
- package/Logging/Logger.d.ts.map +1 -0
- package/Logging/Logger.js +326 -0
- package/Logging/Logger.js.map +1 -0
- package/Logging/LoggerConfig.d.ts +45 -0
- package/Logging/LoggerConfig.d.ts.map +1 -0
- package/Logging/LoggerConfig.js +83 -0
- package/Logging/LoggerConfig.js.map +1 -0
- package/Logging/LoggerScope.d.ts +16 -0
- package/Logging/LoggerScope.d.ts.map +1 -0
- package/Logging/LoggerScope.js +81 -0
- package/Logging/LoggerScope.js.map +1 -0
- package/Logging/LoggerSuppressor.d.ts +10 -0
- package/Logging/LoggerSuppressor.d.ts.map +1 -0
- package/Logging/LoggerSuppressor.js +43 -0
- package/Logging/LoggerSuppressor.js.map +1 -0
- package/Logging/LoggerUtils.d.ts +47 -0
- package/Logging/LoggerUtils.d.ts.map +1 -0
- package/Logging/LoggerUtils.js +102 -0
- package/Logging/LoggerUtils.js.map +1 -0
- package/Logging/vNext/ConsoleLogger.d.ts +56 -0
- package/Logging/vNext/ConsoleLogger.d.ts.map +1 -0
- package/Logging/vNext/ConsoleLogger.js +76 -0
- package/Logging/vNext/ConsoleLogger.js.map +1 -0
- package/Logging/vNext/Interfaces/ILogger.d.ts +38 -0
- package/Logging/vNext/Interfaces/ILogger.d.ts.map +1 -0
- package/Logging/vNext/Interfaces/ILogger.js +3 -0
- package/Logging/vNext/Interfaces/ILogger.js.map +1 -0
- package/Logging/vNext/LoggerExtensions.d.ts +79 -0
- package/Logging/vNext/LoggerExtensions.d.ts.map +1 -0
- package/Logging/vNext/LoggerExtensions.js +175 -0
- package/Logging/vNext/LoggerExtensions.js.map +1 -0
- package/Logging/vNext/Styles/Style.d.ts +9 -0
- package/Logging/vNext/Styles/Style.d.ts.map +1 -0
- package/Logging/vNext/Styles/Style.js +17 -0
- package/Logging/vNext/Styles/Style.js.map +1 -0
- package/Logging/vNext/Styles/StyleDirectives.d.ts +61 -0
- package/Logging/vNext/Styles/StyleDirectives.d.ts.map +1 -0
- package/Logging/vNext/Styles/StyleDirectives.js +118 -0
- package/Logging/vNext/Styles/StyleDirectives.js.map +1 -0
- package/System/Args.d.ts +20 -0
- package/System/Args.d.ts.map +1 -0
- package/System/Args.js +45 -0
- package/System/Args.js.map +1 -0
- package/System/Array.d.ts +41 -0
- package/System/Array.d.ts.map +1 -0
- package/System/Array.js +91 -0
- package/System/Array.js.map +1 -0
- package/System/Assign.d.ts +12 -0
- package/System/Assign.d.ts.map +1 -0
- package/System/Assign.js +40 -0
- package/System/Assign.js.map +1 -0
- package/System/Boolean.d.ts +20 -0
- package/System/Boolean.d.ts.map +1 -0
- package/System/Boolean.js +52 -0
- package/System/Boolean.js.map +1 -0
- package/System/Error.d.ts +9 -0
- package/System/Error.d.ts.map +1 -0
- package/System/Error.js +20 -0
- package/System/Error.js.map +1 -0
- package/System/Errors.d.ts +7 -0
- package/System/Errors.d.ts.map +1 -0
- package/System/Errors.js +18 -0
- package/System/Errors.js.map +1 -0
- package/System/Formatter.d.ts +4 -0
- package/System/Formatter.d.ts.map +1 -0
- package/System/Formatter.js +17 -0
- package/System/Formatter.js.map +1 -0
- package/System/Guard.d.ts +5 -0
- package/System/Guard.d.ts.map +1 -0
- package/System/Guard.js +29 -0
- package/System/Guard.js.map +1 -0
- package/System/Interfaces/IType.d.ts +7 -0
- package/System/Interfaces/IType.d.ts.map +1 -0
- package/System/Interfaces/IType.js +3 -0
- package/System/Interfaces/IType.js.map +1 -0
- package/System/Interfaces/IUnknown.d.ts +7 -0
- package/System/Interfaces/IUnknown.d.ts.map +1 -0
- package/System/Interfaces/IUnknown.js +3 -0
- package/System/Interfaces/IUnknown.js.map +1 -0
- package/System/List.d.ts +27 -0
- package/System/List.d.ts.map +1 -0
- package/System/List.js +84 -0
- package/System/List.js.map +1 -0
- package/System/Number.d.ts +10 -0
- package/System/Number.d.ts.map +1 -0
- package/System/Number.js +28 -0
- package/System/Number.js.map +1 -0
- package/System/Process.d.ts +30 -0
- package/System/Process.d.ts.map +1 -0
- package/System/Process.js +167 -0
- package/System/Process.js.map +1 -0
- package/System/Require.d.ts +8 -0
- package/System/Require.d.ts.map +1 -0
- package/System/Require.js +20 -0
- package/System/Require.js.map +1 -0
- package/System/Stopwatch.d.ts +19 -0
- package/System/Stopwatch.d.ts.map +1 -0
- package/System/Stopwatch.js +73 -0
- package/System/Stopwatch.js.map +1 -0
- package/System/String.d.ts +19 -0
- package/System/String.d.ts.map +1 -0
- package/System/String.js +177 -0
- package/System/String.js.map +1 -0
- package/System/Time.d.ts +7 -0
- package/System/Time.d.ts.map +1 -0
- package/System/Time.js +16 -0
- package/System/Time.js.map +1 -0
- package/System/Version.d.ts +20 -0
- package/System/Version.d.ts.map +1 -0
- package/System/Version.js +135 -0
- package/System/Version.js.map +1 -0
- package/Terminal/Terminal.d.ts +7 -0
- package/Terminal/Terminal.d.ts.map +1 -0
- package/Terminal/Terminal.js +21 -0
- package/Terminal/Terminal.js.map +1 -0
- package/Terminal/TerminalColorType.d.ts +2 -0
- package/Terminal/TerminalColorType.d.ts.map +1 -0
- package/Terminal/TerminalColorType.js +3 -0
- package/Terminal/TerminalColorType.js.map +1 -0
- package/Terminal/TerminalColors.d.ts +38 -0
- package/Terminal/TerminalColors.d.ts.map +1 -0
- package/Terminal/TerminalColors.js +151 -0
- package/Terminal/TerminalColors.js.map +1 -0
- package/Terminal/TerminalSymbolType.d.ts +2 -0
- package/Terminal/TerminalSymbolType.d.ts.map +1 -0
- package/Terminal/TerminalSymbolType.js +3 -0
- package/Terminal/TerminalSymbolType.js.map +1 -0
- package/Terminal/TerminalSymbols.d.ts +7 -0
- package/Terminal/TerminalSymbols.d.ts.map +1 -0
- package/Terminal/TerminalSymbols.js +30 -0
- package/Terminal/TerminalSymbols.js.map +1 -0
- package/package.json +26 -0
package/IO/Path.js
ADDED
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* eslint-disable no-control-regex */
|
|
3
|
+
// #region Imports
|
|
4
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
5
|
+
if (k2 === undefined) k2 = k;
|
|
6
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
7
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
8
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
9
|
+
}
|
|
10
|
+
Object.defineProperty(o, k2, desc);
|
|
11
|
+
}) : (function(o, m, k, k2) {
|
|
12
|
+
if (k2 === undefined) k2 = k;
|
|
13
|
+
o[k2] = m[k];
|
|
14
|
+
}));
|
|
15
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
16
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
17
|
+
}) : function(o, v) {
|
|
18
|
+
o["default"] = v;
|
|
19
|
+
});
|
|
20
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
21
|
+
if (mod && mod.__esModule) return mod;
|
|
22
|
+
var result = {};
|
|
23
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
24
|
+
__setModuleDefault(result, mod);
|
|
25
|
+
return result;
|
|
26
|
+
};
|
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
exports.Path = void 0;
|
|
29
|
+
const crypto = __importStar(require("crypto"));
|
|
30
|
+
const p = __importStar(require("path"));
|
|
31
|
+
const Glob_1 = require("./Glob");
|
|
32
|
+
// #endregion
|
|
33
|
+
class Path {
|
|
34
|
+
// #region Properties
|
|
35
|
+
/**
|
|
36
|
+
* Gets the path separator
|
|
37
|
+
* @public
|
|
38
|
+
* @static
|
|
39
|
+
* @returns {string}
|
|
40
|
+
*/
|
|
41
|
+
static get separator() {
|
|
42
|
+
return p.sep;
|
|
43
|
+
}
|
|
44
|
+
// #endregion
|
|
45
|
+
// #region Methods
|
|
46
|
+
/**
|
|
47
|
+
* 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").
|
|
48
|
+
* @public
|
|
49
|
+
* @static
|
|
50
|
+
* @param {string} path The path
|
|
51
|
+
* @param {string} extension The extenison
|
|
52
|
+
* @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.
|
|
53
|
+
*/
|
|
54
|
+
static changeExtension(path, extension) {
|
|
55
|
+
if (path) {
|
|
56
|
+
let s = path;
|
|
57
|
+
for (let i = path.length; (i -= 1) >= 0;) {
|
|
58
|
+
const ch = path[i];
|
|
59
|
+
if (ch === '.') {
|
|
60
|
+
s = path.substring(0, i);
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
if (ch === '\\' || ch === '/' || ch === ':') {
|
|
64
|
+
break;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
if (extension && path.length !== 0) {
|
|
68
|
+
if (extension.length === 0 || !extension.startsWith('.')) {
|
|
69
|
+
s = `${s}.`;
|
|
70
|
+
}
|
|
71
|
+
s += extension;
|
|
72
|
+
}
|
|
73
|
+
return s;
|
|
74
|
+
}
|
|
75
|
+
return '';
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Get the directory name of the given path.
|
|
79
|
+
* @public
|
|
80
|
+
* @static
|
|
81
|
+
* @param {string} path The path
|
|
82
|
+
* @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").
|
|
83
|
+
*/
|
|
84
|
+
static getDirectoryName(path) {
|
|
85
|
+
return p.dirname(path);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Get a string array of the given path.
|
|
89
|
+
* @public
|
|
90
|
+
* @static
|
|
91
|
+
* @param {string} path The path
|
|
92
|
+
* @returns {Array<string>}
|
|
93
|
+
*/
|
|
94
|
+
static getDirectorySegments(path) {
|
|
95
|
+
return p.dirname(p.normalize(path)).split(Path.separator);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* @public
|
|
99
|
+
* @static
|
|
100
|
+
* @param {string} path The path
|
|
101
|
+
* @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.
|
|
102
|
+
*/
|
|
103
|
+
static getFileName(path) {
|
|
104
|
+
return p.basename(path);
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* @public
|
|
108
|
+
* @static
|
|
109
|
+
* @param {string} path The path
|
|
110
|
+
* @returns {string} Returns the file name of the specified path string without the extension.
|
|
111
|
+
*/
|
|
112
|
+
static getFileNameWithoutExtension(path) {
|
|
113
|
+
path = Path.getFileName(path);
|
|
114
|
+
if (path) {
|
|
115
|
+
const i = path.lastIndexOf('.');
|
|
116
|
+
if (i === -1) {
|
|
117
|
+
return path;
|
|
118
|
+
}
|
|
119
|
+
return path.substring(0, i);
|
|
120
|
+
}
|
|
121
|
+
return '';
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* @public
|
|
125
|
+
* @static
|
|
126
|
+
* @param {string} path The path
|
|
127
|
+
* @param {boolean} includeDot If true, the returned string includes the period (.) before the extension. If false or omitted, the period is not included.
|
|
128
|
+
* @returns {string} Returns the extension of the specified path string.
|
|
129
|
+
*/
|
|
130
|
+
static getExtension(path, includeDot) {
|
|
131
|
+
const ext = p.extname(path);
|
|
132
|
+
return includeDot ? ext : ext.substring(1);
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* @public
|
|
136
|
+
* @static
|
|
137
|
+
* @param {boolean} alphanumeric If true, the generated name will only contain alphanumeric characters.
|
|
138
|
+
* @returns {string} Returns a cryptographically strong random 8.3 string that can be used as either a folder name or a file name.
|
|
139
|
+
*/
|
|
140
|
+
static getRandomFileName(alphanumeric) {
|
|
141
|
+
// For generating random file names
|
|
142
|
+
// 8 random bytes provides 12 chars in our encoding for the 8.3 name.
|
|
143
|
+
const keyLength = 8;
|
|
144
|
+
const buffer = crypto.randomBytes(keyLength);
|
|
145
|
+
let bufferStr = buffer.toString('base64');
|
|
146
|
+
if (alphanumeric) {
|
|
147
|
+
bufferStr = bufferStr.replace(/[\W_]+/g, '');
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
bufferStr = bufferStr.replace(/\//g, '_').replace(/\+/g, '-');
|
|
151
|
+
}
|
|
152
|
+
return bufferStr.substring(0, keyLength);
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* @public
|
|
156
|
+
* @static
|
|
157
|
+
* @param {Array<string>} path Array of path strings
|
|
158
|
+
* @returns {string}
|
|
159
|
+
*/
|
|
160
|
+
static combine(...path) {
|
|
161
|
+
const segments = [];
|
|
162
|
+
for (const segment of path) {
|
|
163
|
+
segments.push(segment);
|
|
164
|
+
}
|
|
165
|
+
return p.join.apply(null, segments);
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Normalize file path slashes to be unix-like forward slashes.
|
|
169
|
+
* @public
|
|
170
|
+
* @static
|
|
171
|
+
* @param {string} path Path string
|
|
172
|
+
* @param {boolean} stripTrailing By default trailing slashes are removed. Pass false as the last argument to disable this behavior and keep trailing slashes
|
|
173
|
+
* @returns {string}
|
|
174
|
+
*/
|
|
175
|
+
static normalize(path, stripTrailing) {
|
|
176
|
+
if (typeof path !== 'string') {
|
|
177
|
+
throw new TypeError('expected path to be a string');
|
|
178
|
+
}
|
|
179
|
+
if (path === '\\' || path === '/') {
|
|
180
|
+
return '/';
|
|
181
|
+
}
|
|
182
|
+
const len = path.length;
|
|
183
|
+
if (len <= 1) {
|
|
184
|
+
return path;
|
|
185
|
+
}
|
|
186
|
+
// Ensure that win32 namespaces has two leading slashes, so that the path is
|
|
187
|
+
// Handled properly by the win32 version of path.parse() after being normalized
|
|
188
|
+
// https://msdn.microsoft.com/library/windows/desktop/aa365247(v=vs.85).aspx#namespaces
|
|
189
|
+
let prefix = '';
|
|
190
|
+
// @ts-ignore fix suppressImplicitAnyIndexErrors
|
|
191
|
+
if (len > 4 && p[3] === '\\') {
|
|
192
|
+
// @ts-ignore fix suppressImplicitAnyIndexErrors
|
|
193
|
+
const ch = p[2];
|
|
194
|
+
if ((ch === '?' || ch === '.') && path.startsWith('\\\\')) {
|
|
195
|
+
path = path.slice(2);
|
|
196
|
+
prefix = '//';
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
const segments = path.split(/[/\\]+/);
|
|
200
|
+
if (stripTrailing !== false && segments[segments.length - 1] === '') {
|
|
201
|
+
segments.pop();
|
|
202
|
+
}
|
|
203
|
+
return prefix + segments.join('/');
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Converts a relative path to an absolute path based on a given base path.
|
|
207
|
+
*
|
|
208
|
+
* @public
|
|
209
|
+
* @static
|
|
210
|
+
* @param {string} paths Path string
|
|
211
|
+
* @returns {string}
|
|
212
|
+
*/
|
|
213
|
+
static resolve(...paths) {
|
|
214
|
+
return p.resolve(...paths);
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Determines whether path is an absolute path. An absolute path will always resolve to the same location, regardless of the working directory.
|
|
218
|
+
* @public
|
|
219
|
+
* @static
|
|
220
|
+
* @param {string} path Path string
|
|
221
|
+
* @returns {boolean}
|
|
222
|
+
*/
|
|
223
|
+
static isAbsolute(path) {
|
|
224
|
+
return p.isAbsolute(path);
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Find files and directories using glob patterns.
|
|
228
|
+
*
|
|
229
|
+
* @public
|
|
230
|
+
* @static
|
|
231
|
+
* @param {string | string[]} pattern - The globbing pattern
|
|
232
|
+
* @param {object} options The globbing options.
|
|
233
|
+
* @returns {string[]} The Files
|
|
234
|
+
*/
|
|
235
|
+
static glob(pattern, options) {
|
|
236
|
+
let normalizedPattern = null;
|
|
237
|
+
if (Array.isArray(pattern)) {
|
|
238
|
+
normalizedPattern = pattern.map((x) => {
|
|
239
|
+
const isExtendedLengthPath = x.startsWith('\\\\?\\');
|
|
240
|
+
const hasNonAscii = (/[^\u0000-\u0080]+/u).test(x);
|
|
241
|
+
if (!isExtendedLengthPath || !hasNonAscii) {
|
|
242
|
+
x = x.replace(/\\/g, '/');
|
|
243
|
+
}
|
|
244
|
+
return x;
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
else {
|
|
248
|
+
const isExtendedLengthPath = pattern.startsWith('\\\\?\\');
|
|
249
|
+
const hasNonAscii = (/[^\u0000-\u0080]+/).test(pattern);
|
|
250
|
+
if (!isExtendedLengthPath || !hasNonAscii) {
|
|
251
|
+
pattern = pattern.replace(/\\/g, '/');
|
|
252
|
+
}
|
|
253
|
+
normalizedPattern = pattern;
|
|
254
|
+
}
|
|
255
|
+
return Glob_1.Glob.matchSync(normalizedPattern, options).map((x) => {
|
|
256
|
+
if (typeof x === 'string') {
|
|
257
|
+
return x;
|
|
258
|
+
}
|
|
259
|
+
return x.path;
|
|
260
|
+
});
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Solve the relative path from {from} to {to} based on the current working directory.
|
|
264
|
+
* At times we have two absolute paths, and we need to derive the relative path from one to the other.
|
|
265
|
+
* This is actually the reverse transform of path.resolve.
|
|
266
|
+
*
|
|
267
|
+
* @public
|
|
268
|
+
* @static
|
|
269
|
+
* @param {string} from The from path.
|
|
270
|
+
* @param {string} to The to options.
|
|
271
|
+
* @returns {string} The relative Files
|
|
272
|
+
* @example
|
|
273
|
+
* ```typescript
|
|
274
|
+
* Path.relative('/data/orandea/test/aaa', '/data/orandea/impl/bbb');
|
|
275
|
+
* // Returns: '../../impl/bbb'
|
|
276
|
+
* ```
|
|
277
|
+
*/
|
|
278
|
+
static relative(from, to) {
|
|
279
|
+
return p.relative(from, to);
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
exports.Path = Path;
|
|
283
|
+
//# sourceMappingURL=Path.js.map
|
package/IO/Path.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Path.js","sourceRoot":"","sources":["../../src/IO/Path.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
export declare namespace PcfControlManifest {
|
|
2
|
+
interface IManifest {
|
|
3
|
+
control: IControl;
|
|
4
|
+
}
|
|
5
|
+
interface IControl {
|
|
6
|
+
namespace: string;
|
|
7
|
+
constructor: string;
|
|
8
|
+
version: string;
|
|
9
|
+
displayNameKey: string;
|
|
10
|
+
descriptionKey: string;
|
|
11
|
+
controlType: string;
|
|
12
|
+
externalServiceUsage: IExternalServiceUsage;
|
|
13
|
+
property: Array<IProperty>;
|
|
14
|
+
resources?: IResources;
|
|
15
|
+
featureUsage?: IFeatureUsage;
|
|
16
|
+
}
|
|
17
|
+
interface IExternalServiceUsage {
|
|
18
|
+
enabled: boolean;
|
|
19
|
+
domain?: Array<string>;
|
|
20
|
+
}
|
|
21
|
+
interface IProperty {
|
|
22
|
+
name: string;
|
|
23
|
+
displayNameKey: string;
|
|
24
|
+
descriptionKey: string;
|
|
25
|
+
ofType?: 'SingleLine.Text' | 'SingleLine.Email' | 'SingleLine.Phone' | 'SingleLine.TextArea' | 'SingleLine.Ticker' | 'SingleLine.URL' | 'Multiple' | 'Currency' | 'DateAndTime.DateOnly' | 'DateAndTime.DateAndTime' | 'Decimal' | 'Enum' | 'FP' | 'OptionSet' | 'TwoOptions' | 'Whole.None';
|
|
26
|
+
ofTypeGroup?: ITypeGroup;
|
|
27
|
+
usage: string;
|
|
28
|
+
required: boolean;
|
|
29
|
+
}
|
|
30
|
+
interface ITypeGroup {
|
|
31
|
+
name: string;
|
|
32
|
+
type: Array<string>;
|
|
33
|
+
}
|
|
34
|
+
interface IResources {
|
|
35
|
+
code: ICodeResource;
|
|
36
|
+
css?: Array<ICSSResource>;
|
|
37
|
+
resx?: Array<IResxResource>;
|
|
38
|
+
}
|
|
39
|
+
interface ICodeResource {
|
|
40
|
+
path: string;
|
|
41
|
+
order: number;
|
|
42
|
+
}
|
|
43
|
+
interface ICSSResource {
|
|
44
|
+
path: string;
|
|
45
|
+
order: number;
|
|
46
|
+
}
|
|
47
|
+
interface IResxResource {
|
|
48
|
+
path: string;
|
|
49
|
+
version: string;
|
|
50
|
+
}
|
|
51
|
+
interface IFeatureUsage {
|
|
52
|
+
usesFeature: Array<IUsesFeature>;
|
|
53
|
+
}
|
|
54
|
+
interface IUsesFeature {
|
|
55
|
+
name: string;
|
|
56
|
+
required: boolean;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* The `PcfControlManifest` class.
|
|
61
|
+
*
|
|
62
|
+
* @public
|
|
63
|
+
*/
|
|
64
|
+
export declare class PcfControlManifest {
|
|
65
|
+
/**
|
|
66
|
+
* Reads a control manifest from a file.
|
|
67
|
+
*/
|
|
68
|
+
static read(filePath: string): Promise<PcfControlManifest.IManifest>;
|
|
69
|
+
/**
|
|
70
|
+
* Writes a control manifest to a file.
|
|
71
|
+
*/
|
|
72
|
+
static write(filePath: string, manifest: PcfControlManifest.IManifest, options?: {
|
|
73
|
+
prologue?: string;
|
|
74
|
+
appendix?: string;
|
|
75
|
+
newLine?: boolean;
|
|
76
|
+
}): Promise<void>;
|
|
77
|
+
static addProperty(manifest: PcfControlManifest.IManifest, property: PcfControlManifest.IProperty): PcfControlManifest.IManifest;
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=PcfControlManifest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PcfControlManifest.d.ts","sourceRoot":"","sources":["../../src/IO/PcfControlManifest.ts"],"names":[],"mappings":"AAQA,yBAAiB,kBAAkB,CAAC;IAChC,UAAiB,SAAS;QACtB,OAAO,EAAE,QAAQ,CAAC;KACrB;IAED,UAAiB,QAAQ;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,MAAM,CAAC;QACpB,oBAAoB,EAAE,qBAAqB,CAAC;QAC5C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC3B,SAAS,CAAC,EAAE,UAAU,CAAC;QACvB,YAAY,CAAC,EAAE,aAAa,CAAC;KAChC;IAED,UAAiB,qBAAqB;QAClC,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;KAC1B;IAED,UAAiB,SAAS;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,MAAM,CAAC,EAAE,iBAAiB,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,qBAAqB,GAAG,mBAAmB,GAAG,gBAAgB,GAAG,UAAU,GAAG,UAAU,GAAG,sBAAsB,GAAG,yBAAyB,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,GAAG,WAAW,GAAG,YAAY,GAAG,YAAY,CAAC;QAC7R,WAAW,CAAC,EAAE,UAAU,CAAC;QACzB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,OAAO,CAAC;KACrB;IAED,UAAiB,UAAU;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;KACvB;IAED,UAAiB,UAAU;QACvB,IAAI,EAAE,aAAa,CAAC;QACpB,GAAG,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QAC1B,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;KAC/B;IAED,UAAiB,aAAa;QAC1B,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACjB;IAED,UAAiB,YAAY;QACzB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACjB;IAED,UAAiB,aAAa;QAC1B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACnB;IAED,UAAiB,aAAa;QAC1B,WAAW,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;KACpC;IAED,UAAiB,YAAY;QACzB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,OAAO,CAAC;KACrB;CACJ;AAED;;;;GAIG;AAEH,qBAAa,kBAAkB;IAI3B;;OAEG;WACiB,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC;IAOjF;;OAEG;WACiB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE;QAC1F,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,OAAO,CAAC;KACrB,GAAG,OAAO,CAAC,IAAI,CAAC;WAyBH,WAAW,CAAC,QAAQ,EAAE,kBAAkB,CAAC,SAAS,EAAE,QAAQ,EAAE,kBAAkB,CAAC,SAAS,GAAG,kBAAkB,CAAC,SAAS;CA2B1I"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// #region Imports
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
+
}) : function(o, v) {
|
|
17
|
+
o["default"] = v;
|
|
18
|
+
});
|
|
19
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
20
|
+
if (mod && mod.__esModule) return mod;
|
|
21
|
+
var result = {};
|
|
22
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
23
|
+
__setModuleDefault(result, mod);
|
|
24
|
+
return result;
|
|
25
|
+
};
|
|
26
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
+
exports.PcfControlManifest = void 0;
|
|
28
|
+
const compat_1 = require("es-toolkit/compat");
|
|
29
|
+
const xml2js = __importStar(require("xml2js"));
|
|
30
|
+
const File_1 = require("./File");
|
|
31
|
+
/**
|
|
32
|
+
* The `PcfControlManifest` class.
|
|
33
|
+
*
|
|
34
|
+
* @public
|
|
35
|
+
*/
|
|
36
|
+
class PcfControlManifest {
|
|
37
|
+
// #region Methods
|
|
38
|
+
/**
|
|
39
|
+
* Reads a control manifest from a file.
|
|
40
|
+
*/
|
|
41
|
+
static async read(filePath) {
|
|
42
|
+
const xml = File_1.File.readAllText(filePath);
|
|
43
|
+
const parser = new xml2js.Parser({ explicitArray: false });
|
|
44
|
+
const result = await parser.parseStringPromise(xml);
|
|
45
|
+
return result.manifest;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Writes a control manifest to a file.
|
|
49
|
+
*/
|
|
50
|
+
static async write(filePath, manifest, options) {
|
|
51
|
+
const builder = new xml2js.Builder({ headless: false });
|
|
52
|
+
let xml = builder.buildObject({ manifest });
|
|
53
|
+
if (options?.prologue) {
|
|
54
|
+
// New line
|
|
55
|
+
if (options.newLine) {
|
|
56
|
+
options.prologue += `${options.appendix}\n`;
|
|
57
|
+
}
|
|
58
|
+
xml = options.prologue + xml;
|
|
59
|
+
}
|
|
60
|
+
if (options?.appendix) {
|
|
61
|
+
// New line
|
|
62
|
+
if (options.newLine) {
|
|
63
|
+
options.appendix = `\n${options.appendix}`;
|
|
64
|
+
}
|
|
65
|
+
xml += options.appendix;
|
|
66
|
+
}
|
|
67
|
+
File_1.File.writeAllText(filePath, xml);
|
|
68
|
+
}
|
|
69
|
+
static addProperty(manifest, property) {
|
|
70
|
+
let singleProp = null;
|
|
71
|
+
if (!(0, compat_1.isArray)(manifest.control.property)) {
|
|
72
|
+
singleProp = manifest.control.property;
|
|
73
|
+
}
|
|
74
|
+
if (singleProp) {
|
|
75
|
+
manifest.control.property = [
|
|
76
|
+
singleProp,
|
|
77
|
+
property
|
|
78
|
+
];
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
manifest.control.property.push({
|
|
82
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
83
|
+
// @ts-ignore
|
|
84
|
+
$: {
|
|
85
|
+
...property
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
return manifest;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
exports.PcfControlManifest = PcfControlManifest;
|
|
93
|
+
//# sourceMappingURL=PcfControlManifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PcfControlManifest.js","sourceRoot":"","sources":["../../src/IO/PcfControlManifest.ts"],"names":[],"mappings":";AAAA,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;AAElB,8CAA4C;AAC5C,+CAAiC;AACjC,iCAA8B;AAyE9B;;;;GAIG;AAEH,MAAa,kBAAkB;IAE3B,kBAAkB;IAElB;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAgB;QACrC,MAAM,GAAG,GAAG,WAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACpD,OAAO,MAAM,CAAC,QAAwC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAgB,EAAE,QAAsC,EAAE,OAInF;QACG,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACxD,IAAI,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QAE5C,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;YACpB,WAAW;YACX,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO,CAAC,QAAQ,IAAI,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC;YAChD,CAAC;YAED,GAAG,GAAG,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC;QACjC,CAAC;QAED,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;YACpB,WAAW;YACX,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO,CAAC,QAAQ,GAAG,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC/C,CAAC;YAED,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;QAC5B,CAAC;QAED,WAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,QAAsC,EAAE,QAAsC;QACpG,IAAI,UAAU,GAAwC,IAAI,CAAC;QAE3D,IAAI,CAAC,IAAA,gBAAO,EAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAwC,CAAC;QAC3E,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACb,QAAQ,CAAC,OAAO,CAAC,QAAQ,GAAG;gBACxB,UAAU;gBACV,QAAQ;aACX,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC3B,6DAA6D;gBAC7D,aAAa;gBACb,CAAC,EAAE;oBACC,GAAG,QAAQ;iBACd;aACJ,CAAC,CAAC;QACP,CAAC;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC;CAIJ;AAzED,gDAyEC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interface for a generic file reader.
|
|
3
|
+
*
|
|
4
|
+
* @public
|
|
5
|
+
*/
|
|
6
|
+
export interface IFileReader {
|
|
7
|
+
/**
|
|
8
|
+
* Disposes the reader and releases resources.
|
|
9
|
+
*/
|
|
10
|
+
dispose(): void;
|
|
11
|
+
/**
|
|
12
|
+
* Reads the next character from the file.
|
|
13
|
+
*
|
|
14
|
+
* @returns A promise resolving to the character as a string, or `null` if at the end of the file.
|
|
15
|
+
*/
|
|
16
|
+
read(): Promise<string | null>;
|
|
17
|
+
/**
|
|
18
|
+
* Reads a single line from the file.
|
|
19
|
+
*
|
|
20
|
+
* @returns A promise resolving to the line content as a string.
|
|
21
|
+
*/
|
|
22
|
+
readLine(): Promise<string>;
|
|
23
|
+
/**
|
|
24
|
+
* Reads the entire file content.
|
|
25
|
+
*
|
|
26
|
+
* @returns A promise resolving to the file content as a string.
|
|
27
|
+
*/
|
|
28
|
+
readToEnd(): Promise<string>;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=IFileReader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IFileReader.d.ts","sourceRoot":"","sources":["../../../../src/IO/Reader/Interfaces/IFileReader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAIxB;;OAEG;IACH,OAAO,IAAI,IAAI,CAAC;IAEhB;;;;OAIG;IACH,IAAI,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAE/B;;;;OAIG;IACH,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAE5B;;;;OAIG;IACH,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAGhC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IFileReader.js","sourceRoot":"","sources":["../../../../src/IO/Reader/Interfaces/IFileReader.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { IFileReader } from './Interfaces/IFileReader';
|
|
2
|
+
/**
|
|
3
|
+
* Class for reading text files with optional XML support.
|
|
4
|
+
*
|
|
5
|
+
* @public
|
|
6
|
+
*/
|
|
7
|
+
export declare class TextFileReader implements IFileReader {
|
|
8
|
+
private readonly _fileName;
|
|
9
|
+
private readonly _encoding;
|
|
10
|
+
private _reader;
|
|
11
|
+
private _isDisposed;
|
|
12
|
+
/**
|
|
13
|
+
* Constructs a new instance of the `TextFileReader` class.
|
|
14
|
+
*
|
|
15
|
+
* @param fileName - The file name to read.
|
|
16
|
+
* @param encoding - The file encoding.
|
|
17
|
+
*/
|
|
18
|
+
constructor(fileName: string, encoding?: BufferEncoding);
|
|
19
|
+
/**
|
|
20
|
+
* Disposes the reader and releases resources.
|
|
21
|
+
*/
|
|
22
|
+
dispose(): void;
|
|
23
|
+
/**
|
|
24
|
+
* Reads the next character from the file.
|
|
25
|
+
*
|
|
26
|
+
* @returns A promise resolving to the character as a string, or `null` if at the end of the file.
|
|
27
|
+
*/
|
|
28
|
+
read(): Promise<string | null>;
|
|
29
|
+
/**
|
|
30
|
+
* Reads a single line from the file.
|
|
31
|
+
*
|
|
32
|
+
* @returns A promise resolving to the line content as a string.
|
|
33
|
+
*/
|
|
34
|
+
readLine(): Promise<string>;
|
|
35
|
+
/**
|
|
36
|
+
* Reads the entire file content.
|
|
37
|
+
*
|
|
38
|
+
* @returns A promise resolving to the file content as a string.
|
|
39
|
+
*/
|
|
40
|
+
readToEnd(): Promise<string>;
|
|
41
|
+
/**
|
|
42
|
+
* Provides a readable stream for advanced use cases.
|
|
43
|
+
*/
|
|
44
|
+
private ensureReader;
|
|
45
|
+
/**
|
|
46
|
+
* Provides a fallback mechanism for encoding with replacement fallbacks.
|
|
47
|
+
*
|
|
48
|
+
* @param encoding - The desired encoding.
|
|
49
|
+
* @returns The fallback-safe encoding.
|
|
50
|
+
*/
|
|
51
|
+
private getEncodingWithFallback;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=TextFileReader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextFileReader.d.ts","sourceRoot":"","sources":["../../../src/IO/Reader/TextFileReader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAI5D;;;;GAIG;AACH,qBAAa,cAAe,YAAW,WAAW;IAI9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAC3C,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,WAAW,CAAkB;IAMrC;;;;;OAKG;gBACgB,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,cAAwB;IASvE;;OAEG;IACI,OAAO,IAAI,IAAI;IAUtB;;;;OAIG;IACU,IAAI,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA0B3C;;;;OAIG;IACU,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;IAiBxC;;;;OAIG;IACU,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAezC;;OAEG;IACH,OAAO,CAAC,YAAY;IAgBpB;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;CASlC"}
|