tunli 0.0.27 → 0.2.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/CHANGELOG.md +45 -0
- package/README.md +158 -67
- package/bin/tunli +4 -5
- package/dist/api-client/ApiClient.d.ts +18 -0
- package/dist/api-client/ApiClient.d.ts.map +1 -0
- package/dist/api-client/ApiClient.js +100 -0
- package/dist/api-client/ApiClient.js.map +1 -0
- package/dist/api-client/types.d.ts +26 -0
- package/dist/api-client/types.d.ts.map +1 -0
- package/dist/api-client/types.js +2 -0
- package/dist/api-client/types.js.map +1 -0
- package/dist/api-client/utils.d.ts +4 -0
- package/dist/api-client/utils.d.ts.map +1 -0
- package/dist/api-client/utils.js +13 -0
- package/dist/api-client/utils.js.map +1 -0
- package/dist/cli-app/AppEventEmitter.d.ts +57 -0
- package/dist/cli-app/AppEventEmitter.d.ts.map +1 -0
- package/dist/cli-app/AppEventEmitter.js +11 -0
- package/dist/cli-app/AppEventEmitter.js.map +1 -0
- package/dist/cli-app/Dashboard.d.ts +4 -0
- package/dist/cli-app/Dashboard.d.ts.map +1 -0
- package/dist/cli-app/Dashboard.js +241 -0
- package/dist/cli-app/Dashboard.js.map +1 -0
- package/dist/cli-app/LiveLog.d.ts +4 -0
- package/dist/cli-app/LiveLog.d.ts.map +1 -0
- package/dist/cli-app/LiveLog.js +28 -0
- package/dist/cli-app/LiveLog.js.map +1 -0
- package/dist/cli-app/types.d.ts +10 -0
- package/dist/cli-app/types.d.ts.map +1 -0
- package/dist/cli-app/types.js +2 -0
- package/dist/cli-app/types.js.map +1 -0
- package/dist/cli-app/versionCheck.d.ts +4 -0
- package/dist/cli-app/versionCheck.d.ts.map +1 -0
- package/dist/cli-app/versionCheck.js +46 -0
- package/dist/cli-app/versionCheck.js.map +1 -0
- package/dist/client.d.ts +2 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +75 -0
- package/dist/client.js.map +1 -0
- package/dist/commander/Argument.d.ts +19 -0
- package/dist/commander/Argument.d.ts.map +1 -0
- package/dist/commander/Argument.js +25 -0
- package/dist/commander/Argument.js.map +1 -0
- package/dist/commander/Command.d.ts +23 -0
- package/dist/commander/Command.d.ts.map +1 -0
- package/dist/commander/Command.js +159 -0
- package/dist/commander/Command.js.map +1 -0
- package/dist/commander/InvalidArgumentError.d.ts +5 -0
- package/dist/commander/InvalidArgumentError.d.ts.map +1 -0
- package/dist/commander/InvalidArgumentError.js +8 -0
- package/dist/commander/InvalidArgumentError.js.map +1 -0
- package/dist/commander/Option.d.ts +15 -0
- package/dist/commander/Option.d.ts.map +1 -0
- package/dist/commander/Option.js +43 -0
- package/dist/commander/Option.js.map +1 -0
- package/dist/commander/index.d.ts +7 -0
- package/dist/commander/index.d.ts.map +1 -0
- package/dist/commander/index.js +5 -0
- package/dist/commander/index.js.map +1 -0
- package/dist/commander/types.d.ts +2 -0
- package/dist/commander/types.d.ts.map +1 -0
- package/dist/commander/types.js +2 -0
- package/dist/commander/types.js.map +1 -0
- package/dist/commands/CommandAuth/CommandAuth.d.ts +4 -0
- package/dist/commands/CommandAuth/CommandAuth.d.ts.map +1 -0
- package/dist/commands/CommandAuth/CommandAuth.js +24 -0
- package/dist/commands/CommandAuth/CommandAuth.js.map +1 -0
- package/dist/commands/CommandConfig/CommandConfig.d.ts +4 -0
- package/dist/commands/CommandConfig/CommandConfig.d.ts.map +1 -0
- package/dist/commands/CommandConfig/CommandConfig.js +37 -0
- package/dist/commands/CommandConfig/CommandConfig.js.map +1 -0
- package/dist/commands/CommandConfig/sub-commands/configDeleteCommand.d.ts +4 -0
- package/dist/commands/CommandConfig/sub-commands/configDeleteCommand.d.ts.map +1 -0
- package/dist/commands/CommandConfig/sub-commands/configDeleteCommand.js +20 -0
- package/dist/commands/CommandConfig/sub-commands/configDeleteCommand.js.map +1 -0
- package/dist/commands/CommandConfig/sub-commands/configGetCommand.d.ts +5 -0
- package/dist/commands/CommandConfig/sub-commands/configGetCommand.d.ts.map +1 -0
- package/dist/commands/CommandConfig/sub-commands/configGetCommand.js +23 -0
- package/dist/commands/CommandConfig/sub-commands/configGetCommand.js.map +1 -0
- package/dist/commands/CommandConfig/sub-commands/configSetCommand.d.ts +4 -0
- package/dist/commands/CommandConfig/sub-commands/configSetCommand.d.ts.map +1 -0
- package/dist/commands/CommandConfig/sub-commands/configSetCommand.js +69 -0
- package/dist/commands/CommandConfig/sub-commands/configSetCommand.js.map +1 -0
- package/dist/commands/CommandConfig/types.d.ts +6 -0
- package/dist/commands/CommandConfig/types.d.ts.map +1 -0
- package/dist/commands/CommandConfig/types.js +2 -0
- package/dist/commands/CommandConfig/types.js.map +1 -0
- package/dist/commands/CommandConfig/utils/preparePrimaryOptions.d.ts +3 -0
- package/dist/commands/CommandConfig/utils/preparePrimaryOptions.d.ts.map +1 -0
- package/dist/commands/CommandConfig/utils/preparePrimaryOptions.js +8 -0
- package/dist/commands/CommandConfig/utils/preparePrimaryOptions.js.map +1 -0
- package/dist/commands/CommandConfig/utils/resolveConfig.d.ts +8 -0
- package/dist/commands/CommandConfig/utils/resolveConfig.d.ts.map +1 -0
- package/dist/commands/CommandConfig/utils/resolveConfig.js +33 -0
- package/dist/commands/CommandConfig/utils/resolveConfig.js.map +1 -0
- package/dist/commands/CommandConfig/utils/sharedOptions.d.ts +3 -0
- package/dist/commands/CommandConfig/utils/sharedOptions.d.ts.map +1 -0
- package/dist/commands/CommandConfig/utils/sharedOptions.js +14 -0
- package/dist/commands/CommandConfig/utils/sharedOptions.js.map +1 -0
- package/dist/commands/CommandDaemon/CommandDaemon.d.ts +4 -0
- package/dist/commands/CommandDaemon/CommandDaemon.d.ts.map +1 -0
- package/dist/commands/CommandDaemon/CommandDaemon.js +57 -0
- package/dist/commands/CommandDaemon/CommandDaemon.js.map +1 -0
- package/dist/commands/CommandDashboard/CommandDashboard.d.ts +4 -0
- package/dist/commands/CommandDashboard/CommandDashboard.d.ts.map +1 -0
- package/dist/commands/CommandDashboard/CommandDashboard.js +54 -0
- package/dist/commands/CommandDashboard/CommandDashboard.js.map +1 -0
- package/dist/commands/CommandHTTP/CommandHttp.d.ts +4 -0
- package/dist/commands/CommandHTTP/CommandHttp.d.ts.map +1 -0
- package/dist/commands/CommandHTTP/CommandHttp.js +50 -0
- package/dist/commands/CommandHTTP/CommandHttp.js.map +1 -0
- package/dist/commands/CommandInit/CommandInit.d.ts +4 -0
- package/dist/commands/CommandInit/CommandInit.d.ts.map +1 -0
- package/dist/commands/CommandInit/CommandInit.js +36 -0
- package/dist/commands/CommandInit/CommandInit.js.map +1 -0
- package/dist/commands/CommandList/CommandList.d.ts +4 -0
- package/dist/commands/CommandList/CommandList.d.ts.map +1 -0
- package/dist/commands/CommandList/CommandList.js +54 -0
- package/dist/commands/CommandList/CommandList.js.map +1 -0
- package/dist/commands/CommandLogs/CommandLogs.d.ts +4 -0
- package/dist/commands/CommandLogs/CommandLogs.d.ts.map +1 -0
- package/dist/commands/CommandLogs/CommandLogs.js +33 -0
- package/dist/commands/CommandLogs/CommandLogs.js.map +1 -0
- package/dist/commands/CommandProfile/CommandProfile.d.ts +5 -0
- package/dist/commands/CommandProfile/CommandProfile.d.ts.map +1 -0
- package/dist/commands/CommandProfile/CommandProfile.js +64 -0
- package/dist/commands/CommandProfile/CommandProfile.js.map +1 -0
- package/dist/commands/CommandRegister/CommandRegister.d.ts +4 -0
- package/dist/commands/CommandRegister/CommandRegister.d.ts.map +1 -0
- package/dist/commands/CommandRegister/CommandRegister.js +43 -0
- package/dist/commands/CommandRegister/CommandRegister.js.map +1 -0
- package/dist/commands/CommandRestart/CommandRestart.d.ts +4 -0
- package/dist/commands/CommandRestart/CommandRestart.d.ts.map +1 -0
- package/dist/commands/CommandRestart/CommandRestart.js +62 -0
- package/dist/commands/CommandRestart/CommandRestart.js.map +1 -0
- package/dist/commands/CommandServer/CommandServer.d.ts +4 -0
- package/dist/commands/CommandServer/CommandServer.d.ts.map +1 -0
- package/dist/commands/CommandServer/CommandServer.js +24 -0
- package/dist/commands/CommandServer/CommandServer.js.map +1 -0
- package/dist/commands/CommandStop/CommandStop.d.ts +4 -0
- package/dist/commands/CommandStop/CommandStop.d.ts.map +1 -0
- package/dist/commands/CommandStop/CommandStop.js +25 -0
- package/dist/commands/CommandStop/CommandStop.js.map +1 -0
- package/dist/commands/CommandUpdate/CommandUpdate.d.ts +4 -0
- package/dist/commands/CommandUpdate/CommandUpdate.d.ts.map +1 -0
- package/dist/commands/CommandUpdate/CommandUpdate.js +38 -0
- package/dist/commands/CommandUpdate/CommandUpdate.js.map +1 -0
- package/dist/commands/CommandUseProfile/CommandUseProfile.d.ts +4 -0
- package/dist/commands/CommandUseProfile/CommandUseProfile.d.ts.map +1 -0
- package/dist/commands/CommandUseProfile/CommandUseProfile.js +63 -0
- package/dist/commands/CommandUseProfile/CommandUseProfile.js.map +1 -0
- package/dist/commands/helper/Help.d.ts +4 -0
- package/dist/commands/helper/Help.d.ts.map +1 -0
- package/dist/commands/helper/Help.js +134 -0
- package/dist/commands/helper/Help.js.map +1 -0
- package/dist/commands/helper/Parser.d.ts +55 -0
- package/dist/commands/helper/Parser.d.ts.map +1 -0
- package/dist/commands/helper/Parser.js +280 -0
- package/dist/commands/helper/Parser.js.map +1 -0
- package/dist/commands/shared/allowDenyCidrCommand.d.ts +3 -0
- package/dist/commands/shared/allowDenyCidrCommand.d.ts.map +1 -0
- package/dist/commands/shared/allowDenyCidrCommand.js +10 -0
- package/dist/commands/shared/allowDenyCidrCommand.js.map +1 -0
- package/dist/commands/shared/configServersCommand.d.ts +4 -0
- package/dist/commands/shared/configServersCommand.d.ts.map +1 -0
- package/dist/commands/shared/configServersCommand.js +19 -0
- package/dist/commands/shared/configServersCommand.js.map +1 -0
- package/dist/commands/utils.d.ts +3 -0
- package/dist/commands/utils.d.ts.map +1 -0
- package/dist/commands/utils.js +17 -0
- package/dist/commands/utils.js.map +1 -0
- package/dist/config/ParsedConfig.d.ts +31 -0
- package/dist/config/ParsedConfig.d.ts.map +1 -0
- package/dist/config/ParsedConfig.js +116 -0
- package/dist/config/ParsedConfig.js.map +1 -0
- package/dist/config/ParsedGlobalConfig.d.ts +5 -0
- package/dist/config/ParsedGlobalConfig.d.ts.map +1 -0
- package/dist/config/ParsedGlobalConfig.js +7 -0
- package/dist/config/ParsedGlobalConfig.js.map +1 -0
- package/dist/config/ParsedLocalConfig.d.ts +5 -0
- package/dist/config/ParsedLocalConfig.d.ts.map +1 -0
- package/dist/config/ParsedLocalConfig.js +7 -0
- package/dist/config/ParsedLocalConfig.js.map +1 -0
- package/dist/config/ParsedProfileConfig.d.ts +46 -0
- package/dist/config/ParsedProfileConfig.d.ts.map +1 -0
- package/dist/config/ParsedProfileConfig.js +120 -0
- package/dist/config/ParsedProfileConfig.js.map +1 -0
- package/dist/config/ParsedServerConfig.d.ts +20 -0
- package/dist/config/ParsedServerConfig.d.ts.map +1 -0
- package/dist/config/ParsedServerConfig.js +55 -0
- package/dist/config/ParsedServerConfig.js.map +1 -0
- package/dist/config/TempProfileConfig.d.ts +8 -0
- package/dist/config/TempProfileConfig.d.ts.map +1 -0
- package/dist/config/TempProfileConfig.js +13 -0
- package/dist/config/TempProfileConfig.js.map +1 -0
- package/dist/config/utils.d.ts +2 -0
- package/dist/config/utils.d.ts.map +1 -0
- package/dist/config/utils.js +8 -0
- package/dist/config/utils.js.map +1 -0
- package/dist/config/validations/validateProfileConfig.d.ts +4 -0
- package/dist/config/validations/validateProfileConfig.d.ts.map +1 -0
- package/dist/config/validations/validateProfileConfig.js +76 -0
- package/dist/config/validations/validateProfileConfig.js.map +1 -0
- package/dist/core/FS/utils.d.ts +12 -0
- package/dist/core/FS/utils.d.ts.map +1 -0
- package/dist/core/FS/utils.js +55 -0
- package/dist/core/FS/utils.js.map +1 -0
- package/dist/daemon/DaemonClient.d.ts +16 -0
- package/dist/daemon/DaemonClient.d.ts.map +1 -0
- package/dist/daemon/DaemonClient.js +158 -0
- package/dist/daemon/DaemonClient.js.map +1 -0
- package/dist/daemon/DaemonServer.d.ts +8 -0
- package/dist/daemon/DaemonServer.d.ts.map +1 -0
- package/dist/daemon/DaemonServer.js +201 -0
- package/dist/daemon/DaemonServer.js.map +1 -0
- package/dist/daemon/protocol.d.ts +101 -0
- package/dist/daemon/protocol.d.ts.map +1 -0
- package/dist/daemon/protocol.js +2 -0
- package/dist/daemon/protocol.js.map +1 -0
- package/dist/daemon-main.d.ts +2 -0
- package/dist/daemon-main.d.ts.map +1 -0
- package/dist/daemon-main.js +13 -0
- package/dist/daemon-main.js.map +1 -0
- package/dist/launcher-main.d.ts +2 -0
- package/dist/launcher-main.d.ts.map +1 -0
- package/dist/launcher-main.js +57 -0
- package/dist/launcher-main.js.map +1 -0
- package/dist/lib/Flow/applyUpdate.d.ts +3 -0
- package/dist/lib/Flow/applyUpdate.d.ts.map +1 -0
- package/dist/lib/Flow/applyUpdate.js +34 -0
- package/dist/lib/Flow/applyUpdate.js.map +1 -0
- package/dist/lib/Flow/downloadBinaryUpdate.d.ts +3 -0
- package/dist/lib/Flow/downloadBinaryUpdate.d.ts.map +1 -0
- package/dist/lib/Flow/downloadBinaryUpdate.js +54 -0
- package/dist/lib/Flow/downloadBinaryUpdate.js.map +1 -0
- package/dist/lib/Flow/getLatestVersion.d.ts +2 -0
- package/dist/lib/Flow/getLatestVersion.d.ts.map +1 -0
- package/dist/lib/Flow/getLatestVersion.js +13 -0
- package/dist/lib/Flow/getLatestVersion.js.map +1 -0
- package/dist/lib/defs.d.ts +18 -0
- package/dist/lib/defs.d.ts.map +1 -0
- package/dist/lib/defs.js +33 -0
- package/dist/lib/defs.js.map +1 -0
- package/dist/logger/logger.d.ts +6 -0
- package/dist/logger/logger.d.ts.map +1 -0
- package/dist/logger/logger.js +34 -0
- package/dist/logger/logger.js.map +1 -0
- package/dist/output-formats/colors.d.ts +7 -0
- package/dist/output-formats/colors.d.ts.map +1 -0
- package/dist/output-formats/colors.js +8 -0
- package/dist/output-formats/colors.js.map +1 -0
- package/dist/output-formats/formatConfig.d.ts +3 -0
- package/dist/output-formats/formatConfig.d.ts.map +1 -0
- package/dist/output-formats/formatConfig.js +59 -0
- package/dist/output-formats/formatConfig.js.map +1 -0
- package/dist/output-formats/formatConfigPath.d.ts +4 -0
- package/dist/output-formats/formatConfigPath.d.ts.map +1 -0
- package/dist/output-formats/formatConfigPath.js +7 -0
- package/dist/output-formats/formatConfigPath.js.map +1 -0
- package/dist/output-formats/formatPath.d.ts +2 -0
- package/dist/output-formats/formatPath.d.ts.map +1 -0
- package/dist/output-formats/formatPath.js +6 -0
- package/dist/output-formats/formatPath.js.map +1 -0
- package/dist/output-formats/formatProfile.d.ts +3 -0
- package/dist/output-formats/formatProfile.d.ts.map +1 -0
- package/dist/output-formats/formatProfile.js +35 -0
- package/dist/output-formats/formatProfile.js.map +1 -0
- package/dist/output-formats/formatProfilesShort.d.ts +3 -0
- package/dist/output-formats/formatProfilesShort.d.ts.map +1 -0
- package/dist/output-formats/formatProfilesShort.js +19 -0
- package/dist/output-formats/formatProfilesShort.js.map +1 -0
- package/dist/output-formats/formatSaveResult.d.ts +4 -0
- package/dist/output-formats/formatSaveResult.d.ts.map +1 -0
- package/dist/output-formats/formatSaveResult.js +7 -0
- package/dist/output-formats/formatSaveResult.js.map +1 -0
- package/dist/output-formats/table.d.ts +8 -0
- package/dist/output-formats/table.d.ts.map +1 -0
- package/dist/output-formats/table.js +15 -0
- package/dist/output-formats/table.js.map +1 -0
- package/dist/package-json/packageJson.d.ts +6 -0
- package/dist/package-json/packageJson.d.ts.map +1 -0
- package/dist/package-json/packageJson.js +12 -0
- package/dist/package-json/packageJson.js.map +1 -0
- package/dist/proxy/Proxy.d.ts +6 -0
- package/dist/proxy/Proxy.d.ts.map +1 -0
- package/dist/proxy/Proxy.js +203 -0
- package/dist/proxy/Proxy.js.map +1 -0
- package/dist/sea-main.d.ts +2 -0
- package/dist/sea-main.d.ts.map +1 -0
- package/dist/sea-main.js +20 -0
- package/dist/sea-main.js.map +1 -0
- package/dist/types/types.d.ts +55 -0
- package/dist/types/types.d.ts.map +1 -0
- package/dist/types/types.js +2 -0
- package/dist/types/types.js.map +1 -0
- package/dist/utils/arrayFunctions.d.ts +24 -0
- package/dist/utils/arrayFunctions.d.ts.map +1 -0
- package/dist/utils/arrayFunctions.js +43 -0
- package/dist/utils/arrayFunctions.js.map +1 -0
- package/dist/utils/assertFunctions.d.ts +7 -0
- package/dist/utils/assertFunctions.d.ts.map +1 -0
- package/dist/utils/assertFunctions.js +20 -0
- package/dist/utils/assertFunctions.js.map +1 -0
- package/dist/utils/checkFunctions.d.ts +34 -0
- package/dist/utils/checkFunctions.d.ts.map +1 -0
- package/dist/utils/checkFunctions.js +87 -0
- package/dist/utils/checkFunctions.js.map +1 -0
- package/dist/utils/cliFunctions.d.ts +10 -0
- package/dist/utils/cliFunctions.d.ts.map +1 -0
- package/dist/utils/cliFunctions.js +68 -0
- package/dist/utils/cliFunctions.js.map +1 -0
- package/dist/utils/hashFunctions.d.ts +10 -0
- package/dist/utils/hashFunctions.d.ts.map +1 -0
- package/dist/utils/hashFunctions.js +11 -0
- package/dist/utils/hashFunctions.js.map +1 -0
- package/dist/utils/npmFunctions.d.ts +3 -0
- package/dist/utils/npmFunctions.d.ts.map +1 -0
- package/dist/utils/npmFunctions.js +28 -0
- package/dist/utils/npmFunctions.js.map +1 -0
- package/dist/utils/stringFunctions.d.ts +12 -0
- package/dist/utils/stringFunctions.d.ts.map +1 -0
- package/dist/utils/stringFunctions.js +37 -0
- package/dist/utils/stringFunctions.js.map +1 -0
- package/package.json +39 -16
- package/client.js +0 -33
- package/src/cli-app/Dashboard.js +0 -220
- package/src/cli-app/Screen/FullScreenModal.js +0 -63
- package/src/cli-app/Screen.js +0 -140
- package/src/cli-app/elements/ElementNode.js +0 -97
- package/src/cli-app/elements/Line.js +0 -21
- package/src/cli-app/elements/List/List.js +0 -227
- package/src/cli-app/elements/List/ListCell.js +0 -83
- package/src/cli-app/elements/List/ListColumn.js +0 -52
- package/src/cli-app/elements/List/ListRow.js +0 -118
- package/src/cli-app/elements/Row.js +0 -38
- package/src/cli-app/helper/utils.js +0 -42
- package/src/commands/Action/addDelValuesAction.js +0 -56
- package/src/commands/CommandAuth.js +0 -32
- package/src/commands/CommandClearAll.js +0 -27
- package/src/commands/CommandConfig.js +0 -59
- package/src/commands/CommandHTTP.js +0 -192
- package/src/commands/CommandInvite.js +0 -38
- package/src/commands/CommandRefresh.js +0 -35
- package/src/commands/CommandRegister.js +0 -48
- package/src/commands/Option/DeleteOption.js +0 -6
- package/src/commands/Option/ProfileListOption.js +0 -65
- package/src/commands/Option/SelectConfigOption.js +0 -52
- package/src/commands/SubCommand/AllowDenyCidrCommand.js +0 -28
- package/src/commands/SubCommand/HostCommand.js +0 -22
- package/src/commands/SubCommand/PortCommand.js +0 -20
- package/src/commands/SubCommand/ProtocolCommand.js +0 -21
- package/src/commands/helper/AliasResolver.js +0 -13
- package/src/commands/helper/BindArgs.js +0 -53
- package/src/commands/helper/SharedArg.js +0 -32
- package/src/commands/utils.js +0 -96
- package/src/config/ConfigAbstract.js +0 -353
- package/src/config/ConfigManager.js +0 -70
- package/src/config/GlobalConfig.js +0 -14
- package/src/config/GlobalLocalShardConfigAbstract.js +0 -98
- package/src/config/LocalConfig.js +0 -7
- package/src/config/PropertyConfig.js +0 -122
- package/src/config/SystemConfig.js +0 -31
- package/src/core/FS/utils.js +0 -60
- package/src/core/Ref.js +0 -70
- package/src/lib/Flow/getCurrentIp.js +0 -18
- package/src/lib/Flow/getLatestVersion.js +0 -13
- package/src/lib/Flow/proxyUrl.js +0 -35
- package/src/lib/Flow/validateAuthToken.js +0 -19
- package/src/lib/HttpClient.js +0 -61
- package/src/lib/Proxy.js +0 -42
- package/src/lib/defs.js +0 -13
- package/src/net/IPV4.js +0 -139
- package/src/net/http/IncomingMessage.js +0 -92
- package/src/net/http/ServerResponse.js +0 -126
- package/src/net/http/TunliRequest.js +0 -1
- package/src/net/http/TunliResponse.js +0 -1
- package/src/net/http/TunnelRequest.js +0 -229
- package/src/net/http/TunnelResponse.js +0 -119
- package/src/tunnel-client/TunnelClient.js +0 -144
- package/src/utils/arrayFunctions.js +0 -45
- package/src/utils/checkFunctions.js +0 -182
- package/src/utils/cliFunctions.js +0 -63
- package/src/utils/createRequest.js +0 -12
- package/src/utils/hashFunctions.js +0 -9
- package/src/utils/httpFunction.js +0 -23
- package/src/utils/npmFunctions.js +0 -27
- package/src/utils/stringFunctions.js +0 -59
- package/types/index.d.ts +0 -119
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sea-main.d.ts","sourceRoot":"","sources":["../src/sea-main.ts"],"names":[],"mappings":""}
|
package/dist/sea-main.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// SEA (Single Executable Application) entry point.
|
|
2
|
+
// Bundled by esbuild into a single CJS file containing both CLI and daemon.
|
|
3
|
+
// The daemon is distinguished at runtime via the TUNLI_DAEMON env var.
|
|
4
|
+
// This binary is spawned and supervised by the launcher (launcher-main.ts).
|
|
5
|
+
if (process.env.TUNLI_DAEMON === '1') {
|
|
6
|
+
await import('./daemon-main.js');
|
|
7
|
+
}
|
|
8
|
+
else {
|
|
9
|
+
// If a restart dump exists the daemon was stopped for an update.
|
|
10
|
+
// Start it now so it can restore the tunnels before the CLI runs.
|
|
11
|
+
const { existsSync } = await import('node:fs');
|
|
12
|
+
const { RESTART_DUMP_FILEPATH } = await import('./lib/defs.js');
|
|
13
|
+
if (existsSync(RESTART_DUMP_FILEPATH)) {
|
|
14
|
+
const { DaemonClient } = await import('./daemon/DaemonClient.js');
|
|
15
|
+
await DaemonClient.ensureRunning();
|
|
16
|
+
}
|
|
17
|
+
await import('./client.js');
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=sea-main.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sea-main.js","sourceRoot":"","sources":["../src/sea-main.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,4EAA4E;AAC5E,uEAAuE;AACvE,4EAA4E;AAE5E,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,GAAG,EAAE,CAAC;IACrC,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAA;AAClC,CAAC;KAAM,CAAC;IACN,iEAAiE;IACjE,kEAAkE;IAClE,MAAM,EAAC,UAAU,EAAC,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAA;IAC5C,MAAM,EAAC,qBAAqB,EAAC,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAA;IAC7D,IAAI,UAAU,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACtC,MAAM,EAAC,YAAY,EAAC,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAA;QAC/D,MAAM,YAAY,CAAC,aAAa,EAAE,CAAA;IACpC,CAAC;IACD,MAAM,MAAM,CAAC,aAAa,CAAC,CAAA;AAC7B,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { ParsedGlobalConfig } from "#config/ParsedGlobalConfig";
|
|
2
|
+
import type { ParsedLocalConfig } from "#config/ParsedLocalConfig";
|
|
3
|
+
import type { ApiClient } from "#api-client/ApiClient";
|
|
4
|
+
export type ServerConfig = {
|
|
5
|
+
readonly url: string;
|
|
6
|
+
readonly authToken: string;
|
|
7
|
+
};
|
|
8
|
+
export type Protocol = "http" | "https";
|
|
9
|
+
export type TargetConfig = {
|
|
10
|
+
readonly protocol: Protocol;
|
|
11
|
+
readonly port: number;
|
|
12
|
+
readonly host: string;
|
|
13
|
+
};
|
|
14
|
+
export type ProfileConfig = {
|
|
15
|
+
readonly filepath: string;
|
|
16
|
+
readonly allowedCidr: string[];
|
|
17
|
+
readonly deniedCidr: string[];
|
|
18
|
+
readonly profileName: string;
|
|
19
|
+
readonly serverConfig: ServerConfig;
|
|
20
|
+
readonly apiClient: ApiClient;
|
|
21
|
+
readonly proxy: ProxyConfig;
|
|
22
|
+
readonly target: TargetConfig;
|
|
23
|
+
};
|
|
24
|
+
export type ProxyConfig = {
|
|
25
|
+
readonly proxyURL: string;
|
|
26
|
+
readonly proxyIdent: string;
|
|
27
|
+
};
|
|
28
|
+
export type IncomingSocketIoRequest = {
|
|
29
|
+
method: RequestMethod;
|
|
30
|
+
headers: Headers;
|
|
31
|
+
path: string;
|
|
32
|
+
port: number;
|
|
33
|
+
hostname: string;
|
|
34
|
+
};
|
|
35
|
+
export type RequestMethod = "GET" | "POST" | "PATCH" | "DELETE" | "HEAD" | "OPTION" | "PUT";
|
|
36
|
+
export interface Headers {
|
|
37
|
+
host: string;
|
|
38
|
+
[name: string]: string;
|
|
39
|
+
}
|
|
40
|
+
export type Logger = {
|
|
41
|
+
info(message: string): void;
|
|
42
|
+
warn(message: string): void;
|
|
43
|
+
error(message: string): void;
|
|
44
|
+
};
|
|
45
|
+
export type Context = {
|
|
46
|
+
logger: Logger;
|
|
47
|
+
exit(code?: number): never;
|
|
48
|
+
apiClient: ApiClient;
|
|
49
|
+
config: {
|
|
50
|
+
createLocalConfig(): void;
|
|
51
|
+
global: ParsedGlobalConfig;
|
|
52
|
+
local: ParsedLocalConfig | undefined;
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAErD,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;AAEvC,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAE,QAAQ,EAAE,QAAQ,CAAA;IAC5B,QAAQ,CAAE,IAAI,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAE,IAAI,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAA;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAA;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE,aAAa,CAAA;IACrB,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAA;AAE3F,MAAM,WAAW,OAAO;IAEtB,IAAI,EAAE,MAAM,CAAA;IAEZ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;CACvB;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IAC1B,SAAS,EAAE,SAAS,CAAA;IACpB,MAAM,EAAE;QACN,iBAAiB,IAAI,IAAI,CAAA;QACzB,MAAM,EAAE,kBAAkB,CAAA;QAC1B,KAAK,EAAE,iBAAiB,GAAG,SAAS,CAAA;KACrC,CAAA;CACF,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Removes duplicate elements from an array.
|
|
3
|
+
* @param value - The array from which to remove duplicates.
|
|
4
|
+
* @returns A new array with unique elements, or null if the input is not an array.
|
|
5
|
+
*/
|
|
6
|
+
export declare const arrayUnique: (value: any) => any[] | null;
|
|
7
|
+
/**
|
|
8
|
+
* @template A
|
|
9
|
+
* @template B
|
|
10
|
+
* Merges two arrays into one.
|
|
11
|
+
* @param arr1 - The first array.
|
|
12
|
+
* @param arr2 - The second array.
|
|
13
|
+
* @returns - A new array containing elements from both input arrays.
|
|
14
|
+
*/
|
|
15
|
+
export declare const arrayMerge: (arr1: any, arr2: any) => any[];
|
|
16
|
+
/**
|
|
17
|
+
* Subtracts elements of the second array from the first array.
|
|
18
|
+
* @param arr1 - The array from which to subtract elements.
|
|
19
|
+
* @param arr2 - The array containing elements to subtract.
|
|
20
|
+
* @returns A new array containing elements from arr1 that are not in arr2.
|
|
21
|
+
*/
|
|
22
|
+
export declare const arraySub: (arr1: any, arr2: any) => any;
|
|
23
|
+
export declare const arrayRemoveEntry: (array: any, search: any) => any;
|
|
24
|
+
//# sourceMappingURL=arrayFunctions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arrayFunctions.d.ts","sourceRoot":"","sources":["../../src/utils/arrayFunctions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,OAAO,GAAG,iBAKrC,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,GAAI,MAAM,GAAG,EAAE,MAAM,GAAG,UAI9C,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,MAAM,GAAG,EAAE,MAAM,GAAG,QAI5C,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,OAAO,GAAG,EAAE,QAAQ,GAAG,QAMvD,CAAA"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Removes duplicate elements from an array.
|
|
3
|
+
* @param value - The array from which to remove duplicates.
|
|
4
|
+
* @returns A new array with unique elements, or null if the input is not an array.
|
|
5
|
+
*/
|
|
6
|
+
export const arrayUnique = (value) => {
|
|
7
|
+
if (!Array.isArray(value)) {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
return Array.from(new Set(value));
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* @template A
|
|
14
|
+
* @template B
|
|
15
|
+
* Merges two arrays into one.
|
|
16
|
+
* @param arr1 - The first array.
|
|
17
|
+
* @param arr2 - The second array.
|
|
18
|
+
* @returns - A new array containing elements from both input arrays.
|
|
19
|
+
*/
|
|
20
|
+
export const arrayMerge = (arr1, arr2) => {
|
|
21
|
+
arr1 ??= [];
|
|
22
|
+
arr2 ??= [];
|
|
23
|
+
return [...arr1, ...arr2];
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Subtracts elements of the second array from the first array.
|
|
27
|
+
* @param arr1 - The array from which to subtract elements.
|
|
28
|
+
* @param arr2 - The array containing elements to subtract.
|
|
29
|
+
* @returns A new array containing elements from arr1 that are not in arr2.
|
|
30
|
+
*/
|
|
31
|
+
export const arraySub = (arr1, arr2) => {
|
|
32
|
+
arr1 ??= [];
|
|
33
|
+
arr2 ??= [];
|
|
34
|
+
return arr1.filter((x) => !arr2.includes(x));
|
|
35
|
+
};
|
|
36
|
+
export const arrayRemoveEntry = (array, search) => {
|
|
37
|
+
const delPos = array.indexOf(search);
|
|
38
|
+
if (delPos > -1) {
|
|
39
|
+
array = [...array.slice(0, delPos), ...array.slice(delPos + 1)];
|
|
40
|
+
}
|
|
41
|
+
return array;
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=arrayFunctions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arrayFunctions.js","sourceRoot":"","sources":["../../src/utils/arrayFunctions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAU,EAAE,EAAE;IACxC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;AACnC,CAAC,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAS,EAAE,IAAS,EAAE,EAAE;IACjD,IAAI,KAAK,EAAE,CAAA;IACX,IAAI,KAAK,EAAE,CAAA;IACX,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,CAAA;AAC3B,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,IAAS,EAAE,IAAS,EAAE,EAAE;IAC/C,IAAI,KAAK,EAAE,CAAA;IACX,IAAI,KAAK,EAAE,CAAA;IACX,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;AACnD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAU,EAAE,MAAW,EAAE,EAAE;IAC1D,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACpC,IAAI,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QAChB,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;IACjE,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Protocol } from "#types/types";
|
|
2
|
+
export declare function assertObject(value: unknown): asserts value is Record<string, unknown>;
|
|
3
|
+
export declare function assertPort(value: unknown): asserts value is number;
|
|
4
|
+
export declare function assertHost(value: unknown): asserts value is string;
|
|
5
|
+
export declare function assertProtocol(value: unknown): asserts value is Protocol;
|
|
6
|
+
export declare function assertString(value: unknown, custom?: string): asserts value is string;
|
|
7
|
+
//# sourceMappingURL=assertFunctions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertFunctions.d.ts","sourceRoot":"","sources":["../../src/utils/assertFunctions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAC;AAE3C,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAIrF;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAElE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAElE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,QAAQ,CAExE;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,GAAE,MAAgB,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAE9F"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { InvalidArgumentError } from "#commander/index";
|
|
2
|
+
import { checkHost, checkPort, checkProtocol, checkString } from "#utils/checkFunctions";
|
|
3
|
+
export function assertObject(value) {
|
|
4
|
+
if (!value || typeof value !== 'object') {
|
|
5
|
+
throw new InvalidArgumentError('Expected an object');
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
export function assertPort(value) {
|
|
9
|
+
checkPort(value);
|
|
10
|
+
}
|
|
11
|
+
export function assertHost(value) {
|
|
12
|
+
checkHost(value);
|
|
13
|
+
}
|
|
14
|
+
export function assertProtocol(value) {
|
|
15
|
+
checkProtocol(value);
|
|
16
|
+
}
|
|
17
|
+
export function assertString(value, custom = 'Value') {
|
|
18
|
+
checkString(value, custom);
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=assertFunctions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertFunctions.js","sourceRoot":"","sources":["../../src/utils/assertFunctions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAC,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAC,MAAM,uBAAuB,CAAC;AAGvF,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,oBAAoB,CAAC,oBAAoB,CAAC,CAAA;IACtD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,SAAS,CAAC,KAAK,CAAC,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,SAAS,CAAC,KAAK,CAAC,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,aAAa,CAAC,KAAK,CAAC,CAAA;AACtB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAc,EAAE,SAAiB,OAAO;IACnE,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;AAC5B,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { IPv4Address } from "@pfeiferio/ipv4";
|
|
2
|
+
/**
|
|
3
|
+
* Validate and format an IPv4 address with CIDR notation.
|
|
4
|
+
* This function checks if the provided value is a valid IPv4 address with or without CIDR suffix.
|
|
5
|
+
* If valid, it returns the address formatted with its CIDR suffix.
|
|
6
|
+
* If invalid, it throws an InvalidArgumentError with an appropriate message.
|
|
7
|
+
*
|
|
8
|
+
* @param value - The IPv4 address (with or without CIDR) to validate.
|
|
9
|
+
* @returns The validated and formatted IPv4 address with CIDR suffix.
|
|
10
|
+
* @throws {InvalidArgumentError} - If the IPv4 address is not valid.
|
|
11
|
+
*/
|
|
12
|
+
export declare const checkIpV4Cidr: (value: unknown) => IPv4Address;
|
|
13
|
+
/**
|
|
14
|
+
* Checks if the value is an integer.
|
|
15
|
+
* @param value - The value to check.
|
|
16
|
+
* @param [errorMessage='Value must be an integer'] - The error message to throw if validation fails.
|
|
17
|
+
* @returns The validated integer.
|
|
18
|
+
* @throws {InvalidArgumentError} - If the value is not a valid integer.
|
|
19
|
+
*/
|
|
20
|
+
export declare const checkInt: (value: unknown, errorMessage?: string) => number;
|
|
21
|
+
/**
|
|
22
|
+
* Checks if the value is a valid URL.
|
|
23
|
+
* @param value - The value to check.
|
|
24
|
+
* @returns The validated URL.
|
|
25
|
+
* @throws {InvalidArgumentError} - If the value is not a valid URL.
|
|
26
|
+
*/
|
|
27
|
+
export declare const checkUrl: (value: string) => string;
|
|
28
|
+
export declare const checkProtocol: (value: unknown) => string;
|
|
29
|
+
export declare const checkInArray: (val: string, arr: string[], valueName?: string) => string;
|
|
30
|
+
export declare const checkMd5: (hash: string) => string;
|
|
31
|
+
export declare const checkPort: (value: unknown) => number;
|
|
32
|
+
export declare const checkString: (value: unknown, foo?: string) => void;
|
|
33
|
+
export declare const checkHost: (value: unknown) => void;
|
|
34
|
+
//# sourceMappingURL=checkFunctions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkFunctions.d.ts","sourceRoot":"","sources":["../../src/utils/checkFunctions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAO,WAAW,EAAC,MAAM,iBAAiB,CAAC;AAElD;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,KAAG,WAQ9C,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,OAAO,EAAE,qBAAyC,KAAG,MAapF,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,MAAM,WAMrC,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,WAG3C,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,EAAE,YAAW,MAAgB,WAKnF,CAAA;AAED,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,WAKpC,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,OAAO,OAAO,KAAG,MAI1C,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,EAAE,MAAK,MAAgB,SAIhE,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,OAAO,OAAO,SAIvC,CAAA"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { InvalidArgumentError } from "#commander/index";
|
|
2
|
+
import { assertString } from "#utils/assertFunctions";
|
|
3
|
+
import { ipV4, IPv4Address } from "@pfeiferio/ipv4";
|
|
4
|
+
/**
|
|
5
|
+
* Validate and format an IPv4 address with CIDR notation.
|
|
6
|
+
* This function checks if the provided value is a valid IPv4 address with or without CIDR suffix.
|
|
7
|
+
* If valid, it returns the address formatted with its CIDR suffix.
|
|
8
|
+
* If invalid, it throws an InvalidArgumentError with an appropriate message.
|
|
9
|
+
*
|
|
10
|
+
* @param value - The IPv4 address (with or without CIDR) to validate.
|
|
11
|
+
* @returns The validated and formatted IPv4 address with CIDR suffix.
|
|
12
|
+
* @throws {InvalidArgumentError} - If the IPv4 address is not valid.
|
|
13
|
+
*/
|
|
14
|
+
export const checkIpV4Cidr = (value) => {
|
|
15
|
+
try {
|
|
16
|
+
return ipV4(value);
|
|
17
|
+
}
|
|
18
|
+
catch (e) {
|
|
19
|
+
throw new InvalidArgumentError(String(e));
|
|
20
|
+
// throw new InvalidArgumentError('The provided value must be a valid IPv4 address, with or without CIDR notation.')
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Checks if the value is an integer.
|
|
25
|
+
* @param value - The value to check.
|
|
26
|
+
* @param [errorMessage='Value must be an integer'] - The error message to throw if validation fails.
|
|
27
|
+
* @returns The validated integer.
|
|
28
|
+
* @throws {InvalidArgumentError} - If the value is not a valid integer.
|
|
29
|
+
*/
|
|
30
|
+
export const checkInt = (value, errorMessage = 'Value must be an integer') => {
|
|
31
|
+
if (typeof value === 'number' && Number.isInteger(value))
|
|
32
|
+
return value;
|
|
33
|
+
if (value == null)
|
|
34
|
+
throw new InvalidArgumentError(errorMessage);
|
|
35
|
+
const stringValue = value.toString();
|
|
36
|
+
if (!/^\d+$/.test(stringValue)) {
|
|
37
|
+
throw new InvalidArgumentError(errorMessage);
|
|
38
|
+
}
|
|
39
|
+
return parseInt(stringValue);
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Checks if the value is a valid URL.
|
|
43
|
+
* @param value - The value to check.
|
|
44
|
+
* @returns The validated URL.
|
|
45
|
+
* @throws {InvalidArgumentError} - If the value is not a valid URL.
|
|
46
|
+
*/
|
|
47
|
+
export const checkUrl = (value) => {
|
|
48
|
+
try {
|
|
49
|
+
return new URL(value).toString();
|
|
50
|
+
}
|
|
51
|
+
catch (e) {
|
|
52
|
+
throw new InvalidArgumentError('Invalid URL');
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
export const checkProtocol = (value) => {
|
|
56
|
+
assertString(value, 'Protocol');
|
|
57
|
+
return checkInArray(value, ['http', 'https'], 'Protocol');
|
|
58
|
+
};
|
|
59
|
+
export const checkInArray = (val, arr, valueName = 'Value') => {
|
|
60
|
+
if (!arr.includes(val)) {
|
|
61
|
+
throw new InvalidArgumentError(`${valueName} must be one of (${arr.join(', ')})`);
|
|
62
|
+
}
|
|
63
|
+
return val;
|
|
64
|
+
};
|
|
65
|
+
export const checkMd5 = (hash) => {
|
|
66
|
+
if (!hash?.match(/^[0-9a-f]{32}$/i)) {
|
|
67
|
+
throw new InvalidArgumentError(`Value is not a valid md5 hash`);
|
|
68
|
+
}
|
|
69
|
+
return hash.toLowerCase();
|
|
70
|
+
};
|
|
71
|
+
export const checkPort = (value) => {
|
|
72
|
+
const port = checkInt(value, 'Port must be a valid integer');
|
|
73
|
+
if (port < 1 || port > 65535)
|
|
74
|
+
throw new InvalidArgumentError('Port must be between 1 and 65535');
|
|
75
|
+
return port;
|
|
76
|
+
};
|
|
77
|
+
export const checkString = (value, foo = 'Value') => {
|
|
78
|
+
if (typeof value !== 'string') {
|
|
79
|
+
throw new InvalidArgumentError(`${foo} must be a string`);
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
export const checkHost = (value) => {
|
|
83
|
+
if (typeof value !== 'string') {
|
|
84
|
+
throw new InvalidArgumentError('Host must be a string');
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
//# sourceMappingURL=checkFunctions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkFunctions.js","sourceRoot":"","sources":["../../src/utils/checkFunctions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const setCursorVisibility: (visible: boolean) => void;
|
|
2
|
+
export declare const clearTerminal: () => void;
|
|
3
|
+
interface ProxyOptions {
|
|
4
|
+
sea?: boolean;
|
|
5
|
+
env?: Record<string, string>;
|
|
6
|
+
onBeforeRestart?: () => Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
export declare const proxyChildProcess: (pathToExecutable: string, proxyArguments?: string[], options?: ProxyOptions) => Promise<unknown>;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=cliFunctions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cliFunctions.d.ts","sourceRoot":"","sources":["../../src/utils/cliFunctions.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,mBAAmB,GAAI,SAAS,OAAO,SAMnD,CAAA;AAED,eAAO,MAAM,aAAa,YAEzB,CAAA;AAGD,UAAU,YAAY;IACpB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CACtC;AAED,eAAO,MAAM,iBAAiB,GAC5B,kBAAkB,MAAM,EACxB,iBAAgB,MAAM,EAAkB,EACxC,UAAS,YAAiB,qBA2D3B,CAAA"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { argv, stdout } from 'node:process';
|
|
2
|
+
import EventEmitter from "node:events";
|
|
3
|
+
import { spawn } from "child_process";
|
|
4
|
+
import { logDebug } from "#logger/logger";
|
|
5
|
+
export const setCursorVisibility = (visible) => {
|
|
6
|
+
if (visible) {
|
|
7
|
+
stdout.write('\x1B[?25h');
|
|
8
|
+
}
|
|
9
|
+
else {
|
|
10
|
+
stdout.write('\x1B[?25l');
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
export const clearTerminal = () => {
|
|
14
|
+
stdout.write('\x1B[2J\x1B[0f');
|
|
15
|
+
};
|
|
16
|
+
export const proxyChildProcess = (pathToExecutable, proxyArguments = argv.slice(2), options = {}) => {
|
|
17
|
+
const command = options.sea ? pathToExecutable : 'node';
|
|
18
|
+
const args = options.sea ? proxyArguments : [pathToExecutable, ...proxyArguments];
|
|
19
|
+
const env = options.env ? { ...process.env, ...options.env } : undefined;
|
|
20
|
+
const eventEmitter = new EventEmitter();
|
|
21
|
+
const createSpawnProcessPromise = () => {
|
|
22
|
+
logDebug('Lifecycle: Initializing child process spawn...');
|
|
23
|
+
const onError = (error) => {
|
|
24
|
+
logDebug(`Lifecycle: Spawn failed or process encountered an error: ${error.message}`);
|
|
25
|
+
eventEmitter.emit('close', 1);
|
|
26
|
+
};
|
|
27
|
+
const onClose = (code) => {
|
|
28
|
+
if (code === null) {
|
|
29
|
+
logDebug('Lifecycle: Child process was terminated externally (SIGKILL/SIGTERM).');
|
|
30
|
+
clearTerminal();
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
logDebug(`Lifecycle: Child process exited with code ${code}`);
|
|
34
|
+
}
|
|
35
|
+
eventEmitter.emit('close', code);
|
|
36
|
+
};
|
|
37
|
+
const onMessage = (message) => {
|
|
38
|
+
logDebug(`Received IPC message: ${message}`);
|
|
39
|
+
if (message === 'restart') {
|
|
40
|
+
child.off('close', onClose);
|
|
41
|
+
child.kill();
|
|
42
|
+
const doRestart = async () => {
|
|
43
|
+
logDebug('Lifecycle: Child process termination signal sent. Preparing restart hooks...');
|
|
44
|
+
await options.onBeforeRestart?.();
|
|
45
|
+
logDebug('Lifecycle: Restart hooks completed. Emitting spawn event for new process.');
|
|
46
|
+
eventEmitter.emit('spawn');
|
|
47
|
+
};
|
|
48
|
+
void doRestart();
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
const child = spawn(command, args, {
|
|
52
|
+
stdio: ['inherit', 'inherit', 'inherit', 'ipc'],
|
|
53
|
+
env,
|
|
54
|
+
})
|
|
55
|
+
.on('close', onClose)
|
|
56
|
+
.on('error', onError)
|
|
57
|
+
.on('message', onMessage);
|
|
58
|
+
if (child.pid) {
|
|
59
|
+
logDebug(`Lifecycle: Child process successfully started (PID: ${child.pid})`);
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
eventEmitter.on('spawn', () => createSpawnProcessPromise());
|
|
63
|
+
return new Promise((resolve) => {
|
|
64
|
+
eventEmitter.once('close', resolve);
|
|
65
|
+
eventEmitter.emit('spawn');
|
|
66
|
+
});
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=cliFunctions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cliFunctions.js","sourceRoot":"","sources":["../../src/utils/cliFunctions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,MAAM,EAAC,MAAM,cAAc,CAAA;AACzC,OAAO,YAAY,MAAM,aAAa,CAAA;AACtC,OAAO,EAAC,KAAK,EAAC,MAAM,eAAe,CAAA;AACnC,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAA;AAEvC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAAgB,EAAE,EAAE;IACtD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC5B,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE;IAChC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;AACjC,CAAC,CAAA;AASD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,gBAAwB,EACxB,iBAA2B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EACxC,UAAwB,EAAE,EAC1B,EAAE;IACF,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAA;IACvD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,GAAG,cAAc,CAAC,CAAA;IACjF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAEtE,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAA;IACvC,MAAM,yBAAyB,GAAG,GAAG,EAAE;QACrC,QAAQ,CAAC,gDAAgD,CAAC,CAAA;QAC1D,MAAM,OAAO,GAAG,CAAC,KAAY,EAAE,EAAE;YAC/B,QAAQ,CAAC,4DAA4D,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;YACrF,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QAC/B,CAAC,CAAA;QAED,MAAM,OAAO,GAAG,CAAC,IAAmB,EAAE,EAAE;YACtC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,QAAQ,CAAC,uEAAuE,CAAC,CAAA;gBACjF,aAAa,EAAE,CAAA;YACjB,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,6CAA6C,IAAI,EAAE,CAAC,CAAA;YAC/D,CAAC;YACD,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QAClC,CAAC,CAAA;QAED,MAAM,SAAS,GAAG,CAAC,OAAe,EAAE,EAAE;YACpC,QAAQ,CAAC,yBAAyB,OAAO,EAAE,CAAC,CAAA;YAE5C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;gBAC3B,KAAK,CAAC,IAAI,EAAE,CAAA;gBACZ,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;oBAC3B,QAAQ,CAAC,8EAA8E,CAAC,CAAA;oBACxF,MAAM,OAAO,CAAC,eAAe,EAAE,EAAE,CAAA;oBACjC,QAAQ,CAAC,2EAA2E,CAAC,CAAA;oBACrF,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBAC5B,CAAC,CAAA;gBACD,KAAK,SAAS,EAAE,CAAA;YAClB,CAAC;QACH,CAAC,CAAA;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;YACjC,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC;YAC/C,GAAG;SACJ,CAAC;aACC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;aACpB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;aACpB,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;QAE3B,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;YACd,QAAQ,CAAC,uDAAuD,KAAK,CAAC,GAAG,GAAG,CAAC,CAAA;QAC/E,CAAC;IACH,CAAC,CAAA;IAED,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,yBAAyB,EAAE,CAAC,CAAA;IAE3D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACnC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC5B,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hashFunctions.d.ts","sourceRoot":"","sources":["../../src/utils/hashFunctions.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,GAAG,GAAI,OAAO;IAAE,QAAQ,IAAI,MAAM,CAAA;CAAE,WAEhD,CAAA;AAED,eAAO,MAAM,MAAM,GAAI,OAAO;IAAE,QAAQ,IAAI,MAAM,CAAA;CAAE,WAEnD,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createHash } from 'crypto';
|
|
2
|
+
/**
|
|
3
|
+
* @param value
|
|
4
|
+
*/
|
|
5
|
+
export const md5 = (value) => {
|
|
6
|
+
return createHash('md5').update(value.toString()).digest('hex');
|
|
7
|
+
};
|
|
8
|
+
export const sha256 = (value) => {
|
|
9
|
+
return createHash('sha256').update(value.toString()).digest('hex');
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=hashFunctions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hashFunctions.js","sourceRoot":"","sources":["../../src/utils/hashFunctions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,QAAQ,CAAA;AAEjC;;GAEG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,KAA6B,EAAE,EAAE;IACnD,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACjE,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAA6B,EAAE,EAAE;IACtD,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACpE,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"npmFunctions.d.ts","sourceRoot":"","sources":["../../src/utils/npmFunctions.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,uBAAuB,GAAI,aAAa,MAAM,qBAU1D,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,aAAa,MAAM,qBAWzD,CAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { exec } from 'child_process';
|
|
2
|
+
import { dirname, join } from 'path';
|
|
3
|
+
export const checkGlobalInstallation = (packageName) => {
|
|
4
|
+
return new Promise((resolve) => {
|
|
5
|
+
exec(`npm list -g --depth=0 ${packageName}`, (_error, stdout) => {
|
|
6
|
+
if (stdout.includes(packageName)) {
|
|
7
|
+
resolve(true);
|
|
8
|
+
}
|
|
9
|
+
else {
|
|
10
|
+
resolve(false);
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
export const checkLocalInstallation = (packageName) => {
|
|
16
|
+
const localPath = join(process.cwd(), 'node_modules', packageName);
|
|
17
|
+
return new Promise((resolve) => {
|
|
18
|
+
exec(`npm list --depth=0 ${packageName}`, { cwd: dirname(process.argv[1]) }, (_error, stdout) => {
|
|
19
|
+
if (stdout.includes(localPath)) {
|
|
20
|
+
resolve(true);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
resolve(false);
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=npmFunctions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"npmFunctions.js","sourceRoot":"","sources":["../../src/utils/npmFunctions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAC;AACnC,OAAO,EAAC,OAAO,EAAE,IAAI,EAAC,MAAM,MAAM,CAAC;AAEnC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,WAAmB,EAAE,EAAE;IAC7D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,CAAC,yBAAyB,WAAW,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;YAC9D,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACjC,OAAO,CAAC,IAAI,CAAC,CAAA;YACf,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,CAAA;YAChB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,WAAmB,EAAE,EAAE;IAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,CAAC,CAAA;IAClE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,CAAC,sBAAsB,WAAW,EAAE,EAAE,EAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,EAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;YAC7F,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/B,OAAO,CAAC,IAAI,CAAC,CAAA;YACf,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,CAAA;YAChB,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const trimEnd: (string: string, trimChar?: string) => string;
|
|
2
|
+
export declare const trimStart: (string: string, trimChar: string) => string;
|
|
3
|
+
export declare const removeControlChars: (string: string) => string;
|
|
4
|
+
export declare const padEndIgnoreControlChars: (string: string, maxLength: number, fillString?: string, autoSubstring?: string | boolean) => string;
|
|
5
|
+
/**
|
|
6
|
+
* Replaces template placeholders in a string with corresponding values from a replacements object.
|
|
7
|
+
*
|
|
8
|
+
* @param template - The string containing placeholders in the format {{ placeholder }}.
|
|
9
|
+
* @param replacements - The object containing replacement values. Nested placeholders can be accessed using dot notation.
|
|
10
|
+
*/
|
|
11
|
+
export declare const replaceTemplatePlaceholders: (template: string, replacements: Record<string, unknown>) => string;
|
|
12
|
+
//# sourceMappingURL=stringFunctions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stringFunctions.d.ts","sourceRoot":"","sources":["../../src/utils/stringFunctions.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO,GAAI,QAAQ,MAAM,EAAE,WAAU,MAAY,WAG7D,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,QAAQ,MAAM,EAAE,UAAU,MAAM,WAGzD,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,QAAQ,MAAM,WAGhD,CAAA;AAED,eAAO,MAAM,wBAAwB,GAClC,QAAQ,MAAM,EAAE,WAAW,MAAM,EAAE,aAAY,MAAY,EAAE,gBAAe,MAAM,GAAG,OAAe,WAkBpG,CAAA;AAEH;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,GACrC,UAAU,MAAM,EAAE,cAAc,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,WAAwC,CAAA"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { interpolate } from "@pfeiferio/string-interpolate";
|
|
2
|
+
export const trimEnd = (string, trimChar = ' ') => {
|
|
3
|
+
const regex = new RegExp(`${trimChar}+$`);
|
|
4
|
+
return string.replace(regex, '');
|
|
5
|
+
};
|
|
6
|
+
export const trimStart = (string, trimChar) => {
|
|
7
|
+
const regex = new RegExp(`^${trimChar}+`);
|
|
8
|
+
return string.replace(regex, '');
|
|
9
|
+
};
|
|
10
|
+
export const removeControlChars = (string) => {
|
|
11
|
+
const removeControlCharsRegex = /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g;
|
|
12
|
+
return string.replace(removeControlCharsRegex, '');
|
|
13
|
+
};
|
|
14
|
+
export const padEndIgnoreControlChars = (string, maxLength, fillString = ' ', autoSubstring = false) => {
|
|
15
|
+
if (maxLength < 0) {
|
|
16
|
+
return string;
|
|
17
|
+
}
|
|
18
|
+
const stringWithoutCC = removeControlChars(string);
|
|
19
|
+
if (autoSubstring !== false && stringWithoutCC.length > maxLength) {
|
|
20
|
+
if (autoSubstring !== true) {
|
|
21
|
+
return stringWithoutCC.substring(0, maxLength - autoSubstring.length) + autoSubstring;
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
return stringWithoutCC.substring(0, maxLength);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
const padding = ''.padEnd(maxLength - stringWithoutCC.length, fillString);
|
|
28
|
+
return `${string}${padding}`;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Replaces template placeholders in a string with corresponding values from a replacements object.
|
|
32
|
+
*
|
|
33
|
+
* @param template - The string containing placeholders in the format {{ placeholder }}.
|
|
34
|
+
* @param replacements - The object containing replacement values. Nested placeholders can be accessed using dot notation.
|
|
35
|
+
*/
|
|
36
|
+
export const replaceTemplatePlaceholders = (template, replacements) => interpolate(template, replacements);
|
|
37
|
+
//# sourceMappingURL=stringFunctions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stringFunctions.js","sourceRoot":"","sources":["../../src/utils/stringFunctions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,+BAA+B,CAAC;AAE1D,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,MAAc,EAAE,WAAmB,GAAG,EAAE,EAAE;IAChE,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,GAAG,QAAQ,IAAI,CAAC,CAAA;IACzC,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;AAClC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,MAAc,EAAE,QAAgB,EAAE,EAAE;IAC5D,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAA;IACzC,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;AAClC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAc,EAAE,EAAE;IACnD,MAAM,uBAAuB,GAAG,6EAA6E,CAAA;IAC7G,OAAO,MAAM,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAA;AACpD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,wBAAwB,GACnC,CAAC,MAAc,EAAE,SAAiB,EAAE,aAAqB,GAAG,EAAE,gBAAkC,KAAK,EAAE,EAAE;IAEvG,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,eAAe,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAElD,IAAI,aAAa,KAAK,KAAK,IAAI,eAAe,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;QAClE,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YAC3B,OAAO,eAAe,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,aAAa,CAAA;QACvF,CAAC;aAAM,CAAC;YACN,OAAO,eAAe,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;QAChD,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,GAAG,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACzE,OAAO,GAAG,MAAM,GAAG,OAAO,EAAE,CAAA;AAC9B,CAAC,CAAA;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,2BAA2B,GACtC,CAAC,QAAgB,EAAE,YAAqC,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA"}
|