/opt/canhelp/node_modules/gel/dist
Edit: /opt/canhelp/node_modules/gel/dist/conUtils.d.ts (5540B)
/*!
* This source file is part of the Gel open source project.
*
* Copyright 2019-present MagicStack Inc. and the Gel authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { Duration } from "./datatypes/datetime";
export type Address = [string, number];
export declare const validTlsSecurityValues: readonly ["insecure", "no_host_verification", "strict", "default"];
export type TlsSecurity = (typeof validTlsSecurityValues)[number];
export declare function isValidTlsSecurityValue(candidate: unknown): candidate is TlsSecurity;
interface PartiallyNormalizedConfig {
connectionParams: ResolvedConnectConfig;
inProject: () => Promise
;
fromProject: boolean;
fromEnv: boolean;
}
export interface NormalizedConnectConfig extends PartiallyNormalizedConfig {
connectTimeout?: number;
logging: boolean;
}
export interface ConnectConfig {
dsn?: string;
instanceName?: string;
credentials?: string;
credentialsFile?: string;
host?: string;
port?: number;
database?: string;
branch?: string;
user?: string;
password?: string;
secretKey?: string;
serverSettings?: any;
tlsCA?: string;
tlsCAFile?: string;
tlsSecurity?: TlsSecurity;
tlsServerName?: string;
timeout?: number;
waitUntilAvailable?: Duration | number;
logging?: boolean;
}
export interface ServerUtils {
findProjectDir: (required?: boolean) => Promise;
findStashPath: (projectDir: string) => Promise;
readFileUtf8: (...path: string[]) => Promise;
searchConfigDir: (...configPath: string[]) => Promise;
}
export type ConnectArgumentsParser = (opts: ConnectConfig) => Promise;
export declare function getConnectArgumentsParser(utils: ServerUtils | null): ConnectArgumentsParser;
type ConnectConfigParams = "host" | "port" | "database" | "branch" | "user" | "password" | "secretKey" | "cloudProfile" | "tlsCAData" | "tlsSecurity" | "tlsServerName" | "waitUntilAvailable";
export type ResolvedConnectConfigReadonly = Readonly | "address">>;
export declare class ResolvedConnectConfig {
_host: string | null;
_hostSource: string | null;
_port: number | null;
_portSource: string | null;
_database: string | null;
_databaseSource: string | null;
_branch: string | null;
_branchSource: string | null;
_user: string | null;
_userSource: string | null;
_password: string | null;
_passwordSource: string | null;
_secretKey: string | null;
_secretKeySource: string | null;
_cloudProfile: string | null;
_cloudProfileSource: string | null;
_tlsCAData: string | null;
_tlsCADataSource: string | null;
_tlsSecurity: TlsSecurity | null;
_tlsSecuritySource: string | null;
_tlsServerName: string | null;
_tlsServerNameSource: string | null;
_waitUntilAvailable: number | null;
_waitUntilAvailableSource: string | null;
serverSettings: {
readonly [key: string]: string;
};
constructor();
_setParam(param: Param, value: Value, source: string, validator?: (value: NonNullable) => this[`_${Param}`]): boolean;
_setParamAsync(param: Param, value: Value, source: string, validator?: (value: NonNullable) => Promise): Promise;
setHost(host: string | null, source: string): boolean;
setPort(port: string | number | null, source: string): boolean;
setDatabase(database: string | null, source: string): boolean;
setBranch(branch: string | null, source: string): boolean;
setUser(user: string | null, source: string): boolean;
setPassword(password: string | null, source: string): boolean;
setSecretKey(secretKey: string | null, source: string): boolean;
setCloudProfile(cloudProfile: string | null, source: string): boolean;
setTlsCAData(caData: string | null, source: string): boolean;
setTlsCAFile(caFile: string | null, source: string, readFile: (fn: string) => Promise): Promise;
setTlsServerName(serverName: string | null, source: string): boolean;
setTlsSecurity(tlsSecurity: string | null, source: string): boolean;
setWaitUntilAvailable(duration: string | number | Duration | null, source: string): boolean;
addServerSettings(settings: {
[key: string]: string;
}): void;
get address(): Address;
get database(): string;
get branch(): string;
get user(): string;
get password(): string | undefined;
get secretKey(): string | undefined;
get cloudProfile(): string;
get tlsServerName(): string | undefined;
get tlsSecurity(): Exclude;
get waitUntilAvailable(): number;
explainConfig(): string;
}
export declare function parseDuration(duration: string | number | Duration): number;
export {};