@cqse/commons 1.0.0-beta.5 → 1.0.0-beta.7
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/lib/CollectorConfig.d.ts +0 -27
- package/lib/CollectorConfig.d.ts.map +1 -1
- package/lib/CollectorConfig.js +23 -33
- package/lib/CollectorConfig.js.map +1 -1
- package/lib/ConfigParser.d.ts +1 -131
- package/lib/ConfigParser.d.ts.map +1 -1
- package/lib/ConfigParser.js +10 -121
- package/lib/ConfigParser.js.map +1 -1
- package/lib/ConfigWithOverwrites.d.ts +0 -23
- package/lib/ConfigWithOverwrites.d.ts.map +1 -1
- package/lib/ConfigWithOverwrites.js +0 -24
- package/lib/ConfigWithOverwrites.js.map +1 -1
- package/lib/Contract.d.ts +0 -31
- package/lib/Contract.d.ts.map +1 -1
- package/lib/Contract.js +0 -29
- package/lib/Contract.js.map +1 -1
- package/lib/Exceptions.d.ts +0 -15
- package/lib/Exceptions.d.ts.map +1 -1
- package/lib/Exceptions.js +0 -15
- package/lib/Exceptions.js.map +1 -1
- package/lib/Strings.d.ts +0 -8
- package/lib/Strings.d.ts.map +1 -1
- package/lib/Strings.js +0 -8
- package/lib/Strings.js.map +1 -1
- package/lib/Validation.d.ts +0 -3
- package/lib/Validation.d.ts.map +1 -1
- package/lib/Validation.js +0 -7
- package/lib/Validation.js.map +1 -1
- package/lib/index.d.ts +0 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +0 -1
- package/lib/index.js.map +1 -1
- package/package.json +2 -2
package/lib/CollectorConfig.d.ts
CHANGED
|
@@ -8,10 +8,6 @@ export type PredefinableOptions = {
|
|
|
8
8
|
artifactoryAccessToken?: string;
|
|
9
9
|
artifactoryPathSuffix?: string;
|
|
10
10
|
};
|
|
11
|
-
/**
|
|
12
|
-
* Options that cannot be reconfigured during runtime.
|
|
13
|
-
* These settings are fixed after initial configuration.
|
|
14
|
-
*/
|
|
15
11
|
export type StaticCollectorOptions = PredefinableOptions & {
|
|
16
12
|
port: number;
|
|
17
13
|
dumpFolder: string;
|
|
@@ -24,13 +20,6 @@ export type StaticCollectorOptions = PredefinableOptions & {
|
|
|
24
20
|
teamscaleUser?: string;
|
|
25
21
|
teamscaleAccessToken?: string;
|
|
26
22
|
};
|
|
27
|
-
/**
|
|
28
|
-
* Options that can be modified during runtime.
|
|
29
|
-
* These settings control various aspects of the collector's behavior.
|
|
30
|
-
*
|
|
31
|
-
* See the other code in the present file for a list of all available
|
|
32
|
-
* options and their descriptions and default values.
|
|
33
|
-
*/
|
|
34
23
|
export type ReconfigurableCollectorOptions = PredefinableOptions & {
|
|
35
24
|
teamscaleProject?: string;
|
|
36
25
|
teamscalePartition?: string;
|
|
@@ -38,24 +27,8 @@ export type ReconfigurableCollectorOptions = PredefinableOptions & {
|
|
|
38
27
|
teamscaleMessage?: string;
|
|
39
28
|
dumpToFolder?: string;
|
|
40
29
|
};
|
|
41
|
-
/**
|
|
42
|
-
* Complete collection of collector configuration options.
|
|
43
|
-
* Combines both fixed and reconfigurable options into a single type.
|
|
44
|
-
*/
|
|
45
30
|
export type CollectorOptions = StaticCollectorOptions & ReconfigurableCollectorOptions;
|
|
46
|
-
/**
|
|
47
|
-
* Build the collector parameters that can be overwritten by instrumented apps.
|
|
48
|
-
*/
|
|
49
31
|
export declare function buildPredefinableParameters(): ConfigurationParameters;
|
|
50
|
-
/**
|
|
51
|
-
* Builds and returns the configuration parameters for the collector.
|
|
52
|
-
* This includes all available command line arguments and their default values.
|
|
53
|
-
*
|
|
54
|
-
* @returns {ConfigurationParameters} Configuration parameters instance with all defined options
|
|
55
|
-
*/
|
|
56
32
|
export declare function buildStaticCollectorParameters(): ConfigurationParameters;
|
|
57
|
-
/**
|
|
58
|
-
* Builds and returns the during run-time reconfigurable configuration parameters for the collector.
|
|
59
|
-
*/
|
|
60
33
|
export declare function buildReconfigurableCollectorParameters(): ConfigurationParameters;
|
|
61
34
|
//# sourceMappingURL=CollectorConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CollectorConfig.d.ts","sourceRoot":"","sources":["../src/CollectorConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,uBAAuB,EACvB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"CollectorConfig.d.ts","sourceRoot":"","sources":["../src/CollectorConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,uBAAuB,EACvB,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,mBAAmB,GAAG;IACjC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAA;AAMD,MAAM,MAAM,sBAAsB,GAAG,mBAAmB,GAAG;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AASF,MAAM,MAAM,8BAA8B,GAAG,mBAAmB,GAAG;IAClE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAMF,MAAM,MAAM,gBAAgB,GAAG,sBAAsB,GAAG,8BAA8B,CAAC;AA8CvF,wBAAgB,2BAA2B,IAAI,uBAAuB,CA6DrE;AAQD,wBAAgB,8BAA8B,IAAI,uBAAuB,CAkDxE;AAKD,wBAAgB,sCAAsC,IAAI,uBAAuB,CAoBhF"}
|
package/lib/CollectorConfig.js
CHANGED
|
@@ -14,7 +14,12 @@ const CONFIG_GROUP_TEAMSCALE_SERVER = {
|
|
|
14
14
|
};
|
|
15
15
|
const CONFIG_GROUP_TEAMSCALE_UPLOAD = {
|
|
16
16
|
order: 2,
|
|
17
|
-
title: 'Upload to Teamscale'
|
|
17
|
+
title: 'Upload to Teamscale',
|
|
18
|
+
hints: 'NOTE: We generally recommend to set these parameters per app during ' +
|
|
19
|
+
'the instrumentation process, that is, on the instrumenter side, for example, ' +
|
|
20
|
+
'by setting `--config-id` or specifying single options via `--collector-option`. ' +
|
|
21
|
+
'The following parameters are supposed to take effect if the application ' +
|
|
22
|
+
'is instrumented with the `--coverage-target-from-collector` flag.'
|
|
18
23
|
};
|
|
19
24
|
const CONFIG_GROUP_COVERAGE_DUMP = {
|
|
20
25
|
order: 3,
|
|
@@ -28,9 +33,6 @@ const CONFIG_GROUP_LOGGING = {
|
|
|
28
33
|
order: 5,
|
|
29
34
|
title: 'Logging Behavior'
|
|
30
35
|
};
|
|
31
|
-
/**
|
|
32
|
-
* Build the collector parameters that can be overwritten by instrumented apps.
|
|
33
|
-
*/
|
|
34
36
|
function buildPredefinableParameters() {
|
|
35
37
|
const parameters = new ConfigParser_1.ConfigurationParameters();
|
|
36
38
|
function add(shortParameter, longParameter, type, options) {
|
|
@@ -46,7 +48,6 @@ function buildPredefinableParameters() {
|
|
|
46
48
|
default: 120,
|
|
47
49
|
group: CONFIG_GROUP_COVERAGE_DUMP
|
|
48
50
|
});
|
|
49
|
-
// Artifactory upload
|
|
50
51
|
add(undefined, '--artifactory-server-url', 'string', {
|
|
51
52
|
help: 'Upload the coverage to the given Artifactory server URL. The URL may include a subpath on the artifactory server, e.g. https://artifactory.acme.com/my-repo/my/subpath',
|
|
52
53
|
group: CONFIG_GROUP_ARTIFACTORY_UPLOAD
|
|
@@ -67,14 +68,25 @@ function buildPredefinableParameters() {
|
|
|
67
68
|
help: '(optional): The path within the storage location between the default path and the uploaded artifact.',
|
|
68
69
|
group: CONFIG_GROUP_ARTIFACTORY_UPLOAD
|
|
69
70
|
});
|
|
71
|
+
add(undefined, '--teamscale-project', 'string', {
|
|
72
|
+
help: 'The project ID to upload coverage to.',
|
|
73
|
+
group: CONFIG_GROUP_TEAMSCALE_UPLOAD
|
|
74
|
+
});
|
|
75
|
+
add(undefined, '--teamscale-partition', 'string', {
|
|
76
|
+
help: 'The partition to upload coverage to.',
|
|
77
|
+
group: CONFIG_GROUP_TEAMSCALE_UPLOAD
|
|
78
|
+
});
|
|
79
|
+
add(undefined, '--teamscale-repository', 'string', {
|
|
80
|
+
help: 'The repository to upload coverage for. Optional: Only needed when uploading via revision to a project that has more than one connector.',
|
|
81
|
+
group: CONFIG_GROUP_TEAMSCALE_UPLOAD
|
|
82
|
+
});
|
|
83
|
+
add(undefined, '--teamscale-message', 'string', {
|
|
84
|
+
help: 'The commit message shown within Teamscale for the coverage upload.',
|
|
85
|
+
default: 'JavaScript coverage upload',
|
|
86
|
+
group: CONFIG_GROUP_TEAMSCALE_UPLOAD
|
|
87
|
+
});
|
|
70
88
|
return parameters;
|
|
71
89
|
}
|
|
72
|
-
/**
|
|
73
|
-
* Builds and returns the configuration parameters for the collector.
|
|
74
|
-
* This includes all available command line arguments and their default values.
|
|
75
|
-
*
|
|
76
|
-
* @returns {ConfigurationParameters} Configuration parameters instance with all defined options
|
|
77
|
-
*/
|
|
78
90
|
function buildStaticCollectorParameters() {
|
|
79
91
|
const parameters = buildPredefinableParameters();
|
|
80
92
|
function add(shortParameter, longParameter, type, options) {
|
|
@@ -122,9 +134,6 @@ function buildStaticCollectorParameters() {
|
|
|
122
134
|
});
|
|
123
135
|
return parameters;
|
|
124
136
|
}
|
|
125
|
-
/**
|
|
126
|
-
* Builds and returns the during run-time reconfigurable configuration parameters for the collector.
|
|
127
|
-
*/
|
|
128
137
|
function buildReconfigurableCollectorParameters() {
|
|
129
138
|
const parameters = buildPredefinableParameters();
|
|
130
139
|
function addShort(shortParameter, longParameter, type, options) {
|
|
@@ -133,30 +142,11 @@ function buildReconfigurableCollectorParameters() {
|
|
|
133
142
|
function add(longArgument, type, options) {
|
|
134
143
|
addShort(undefined, longArgument, type, options);
|
|
135
144
|
}
|
|
136
|
-
// Coverage dumping
|
|
137
145
|
add('--dump-to-folder', 'string', {
|
|
138
146
|
help: 'Coverage should be dumped to a folder on the server that the collector is running on.\n' +
|
|
139
147
|
'Specifies the name of the subfolder within the collector\'s dump folder (--dump-folder of the collector) where coverage files should be placed.',
|
|
140
148
|
group: CONFIG_GROUP_COVERAGE_DUMP
|
|
141
149
|
});
|
|
142
|
-
// Upload to Teamscale
|
|
143
|
-
add('--teamscale-project', 'string', {
|
|
144
|
-
help: 'The project ID to upload coverage to.',
|
|
145
|
-
group: CONFIG_GROUP_TEAMSCALE_UPLOAD
|
|
146
|
-
});
|
|
147
|
-
add('--teamscale-partition', 'string', {
|
|
148
|
-
help: 'The partition to upload coverage to.',
|
|
149
|
-
group: CONFIG_GROUP_TEAMSCALE_UPLOAD
|
|
150
|
-
});
|
|
151
|
-
add('--teamscale-repository', 'string', {
|
|
152
|
-
help: 'The repository to upload coverage for. Optional: Only needed when uploading via revision to a project that has more than one connector.',
|
|
153
|
-
group: CONFIG_GROUP_TEAMSCALE_UPLOAD
|
|
154
|
-
});
|
|
155
|
-
add('--teamscale-message', 'string', {
|
|
156
|
-
help: 'The commit message shown within Teamscale for the coverage upload.',
|
|
157
|
-
default: 'JavaScript coverage upload',
|
|
158
|
-
group: CONFIG_GROUP_TEAMSCALE_UPLOAD
|
|
159
|
-
});
|
|
160
150
|
return parameters;
|
|
161
151
|
}
|
|
162
152
|
//# sourceMappingURL=CollectorConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CollectorConfig.js","sourceRoot":"","sources":["../src/CollectorConfig.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"CollectorConfig.js","sourceRoot":"","sources":["../src/CollectorConfig.ts"],"names":[],"mappings":"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"}
|
package/lib/ConfigParser.d.ts
CHANGED
|
@@ -1,191 +1,61 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Configuration parser module that handles command-line arguments, environment variables,
|
|
3
|
-
* and configuration files for TypeScript/JavaScript applications.
|
|
4
|
-
*
|
|
5
|
-
* @module ConfigParser
|
|
6
|
-
*/
|
|
7
|
-
/** Supported parameter types for configuration options */
|
|
8
1
|
export type ConfigParameterType = 'string' | 'int' | 'bool' | 'string[]';
|
|
9
|
-
/** Possible value types for configuration parameters */
|
|
10
2
|
export type ConfigValueType = string | number | boolean | string[];
|
|
11
|
-
/** Record of parameter names to their values */
|
|
12
3
|
export type Options = Record<string, ConfigValueType>;
|
|
13
|
-
/** Options for printing the version and help information */
|
|
14
4
|
export type VersionAndHelpOptions = {
|
|
15
5
|
version: boolean;
|
|
16
6
|
help: boolean;
|
|
17
7
|
};
|
|
18
|
-
/** Result of parsing the configuration containing options and unnamed arguments */
|
|
19
8
|
export type ConfigParsingResult = {
|
|
20
9
|
options: Options;
|
|
21
10
|
unnamedArguments: string[];
|
|
22
11
|
};
|
|
23
|
-
/** Describes the application that is going to be configured and run. */
|
|
24
12
|
export type AppInfos = {
|
|
25
13
|
name: string;
|
|
26
14
|
version: string;
|
|
27
15
|
about: string;
|
|
28
16
|
};
|
|
29
|
-
/** Defines a group of configuration parameters. */
|
|
30
17
|
export type ParameterGroup = {
|
|
31
|
-
/** Number used as the primary criterion for ordering */
|
|
32
18
|
order: number;
|
|
33
|
-
/** Title of the group */
|
|
34
19
|
title: string;
|
|
20
|
+
hints?: string;
|
|
35
21
|
};
|
|
36
|
-
/** Parameter group for --version and --help */
|
|
37
22
|
export declare const CONFIG_GROUP_APP: ParameterGroup;
|
|
38
|
-
/** Describes a configuration parameter with its properties */
|
|
39
23
|
export type ParameterDescriptor = {
|
|
40
|
-
/** Internal identifier for the parameter */
|
|
41
24
|
parameterId: string;
|
|
42
|
-
/** Short form of the parameter (e.g., -p) */
|
|
43
25
|
shortParameter?: string;
|
|
44
|
-
/** Long form of the parameter (e.g., --port) */
|
|
45
26
|
longParameter: string;
|
|
46
|
-
/** Environment variable name for this parameter */
|
|
47
27
|
environmentVariableName: string;
|
|
48
|
-
/** Disable overwriting the parameter value via an environment variable? */
|
|
49
28
|
disableEnvironmentVariableOverride?: boolean;
|
|
50
|
-
/** Parameter's data type */
|
|
51
29
|
type: ConfigParameterType;
|
|
52
|
-
/** Default value if parameter is not specified */
|
|
53
30
|
default?: ConfigValueType;
|
|
54
|
-
/** Help text describing the parameter */
|
|
55
31
|
help: string;
|
|
56
|
-
/**
|
|
57
|
-
* Is it an internal parameter, not to be visible in the command line by default?
|
|
58
|
-
* An example is a parameter that is configured via a different mechanism but still
|
|
59
|
-
* shall be present in the configuration mechanism at hand.
|
|
60
|
-
*/
|
|
61
32
|
internal: boolean;
|
|
62
|
-
/** Parameter group it belongs to. */
|
|
63
33
|
group?: ParameterGroup;
|
|
64
34
|
};
|
|
65
|
-
/**
|
|
66
|
-
* See `ParameterDescriptor`.
|
|
67
|
-
*/
|
|
68
35
|
export type ParameterDefinitionOptions = Partial<ParameterDescriptor>;
|
|
69
|
-
/**
|
|
70
|
-
* Converts a parameter name (with dashes) to a camelCase parameter ID.
|
|
71
|
-
*
|
|
72
|
-
* @param parameterName - The parameter name to convert (e.g., --my-param)
|
|
73
|
-
* @returns The camelCase parameter ID (e.g., myParam)
|
|
74
|
-
*/
|
|
75
36
|
export declare function parameterNameToParameterId(parameterName: string): string;
|
|
76
|
-
/**
|
|
77
|
-
* Converts a long parameter name to an environment variable name.
|
|
78
|
-
*
|
|
79
|
-
* @param longParameter - The long parameter name (e.g., --my-param)
|
|
80
|
-
* @returns The environment variable name (e.g., MY_PARAM)
|
|
81
|
-
*/
|
|
82
37
|
export declare function longParameterToEnvironmentVariableName(longParameter: string): string;
|
|
83
|
-
/**
|
|
84
|
-
* Manages configuration parameters and their properties.
|
|
85
|
-
* Provides functionality to add, describe, and parse parameters.
|
|
86
|
-
*/
|
|
87
38
|
export declare class ConfigurationParameters {
|
|
88
39
|
private readonly parameters;
|
|
89
40
|
private readonly shortToLongParameterMap;
|
|
90
41
|
private readonly sequentialParameters;
|
|
91
42
|
private readonly argumentChecks;
|
|
92
43
|
constructor();
|
|
93
|
-
/**
|
|
94
|
-
* Adds a new parameter to the configuration.
|
|
95
|
-
*
|
|
96
|
-
* @param shortParameter - Optional short form of the parameter (e.g., -p)
|
|
97
|
-
* @param longParameter - Long form of the parameter (e.g., --port)
|
|
98
|
-
* @param type - Parameter's data type
|
|
99
|
-
* @param options - Additional parameter options including a help text and default value
|
|
100
|
-
*/
|
|
101
44
|
addParameter(shortParameter: string | undefined, longParameter: string, type: ConfigParameterType, options?: ParameterDefinitionOptions): void;
|
|
102
|
-
/**
|
|
103
|
-
* Adds a new argument check function to the list of checks.
|
|
104
|
-
*
|
|
105
|
-
* @param check - A function that takes an options object as input and returns a string containing an
|
|
106
|
-
* error message if a validation fails, or undefined if the validation passes.
|
|
107
|
-
*/
|
|
108
45
|
addArgumentCheck(check: (options: Record<string, unknown>) => string | undefined): void;
|
|
109
|
-
/**
|
|
110
|
-
* Makes the given parameter mandatory.
|
|
111
|
-
*/
|
|
112
46
|
addRequiredArgumentFor(parameterId: string): void;
|
|
113
|
-
/**
|
|
114
|
-
* Describes a parameter with its complete set of properties.
|
|
115
|
-
*
|
|
116
|
-
* @param parameterId - Internal identifier for the parameter
|
|
117
|
-
* @param descriptor - Complete parameter descriptor
|
|
118
|
-
* @throws Error if short parameter is invalid or already mapped
|
|
119
|
-
*/
|
|
120
47
|
describeParameter(parameterId: string, descriptor: ParameterDescriptor): void;
|
|
121
|
-
/**
|
|
122
|
-
* Looks up a parameter descriptor by its ID.
|
|
123
|
-
*
|
|
124
|
-
* @param parameterId - Parameter identifier to look up
|
|
125
|
-
* @returns Parameter descriptor if found, undefined otherwise
|
|
126
|
-
*/
|
|
127
48
|
lookupParameter(parameterId: string): ParameterDescriptor | undefined;
|
|
128
|
-
/**
|
|
129
|
-
* Returns all registered parameter descriptors.
|
|
130
|
-
*
|
|
131
|
-
* @returns Array of all parameter descriptors
|
|
132
|
-
*/
|
|
133
49
|
getParameters(): ParameterDescriptor[];
|
|
134
|
-
/**
|
|
135
|
-
* Retrieves the collection of functions used for argument validation.
|
|
136
|
-
*/
|
|
137
50
|
getArgumentChecks(): Array<(options: Record<string, unknown>) => string | undefined>;
|
|
138
|
-
/**
|
|
139
|
-
* Returns an array of parameter IDs that are configured as sequential parameters.
|
|
140
|
-
* That is, parameters that are given without a name but where their mapping
|
|
141
|
-
* to concrete parameters is defined by their position in the command line.
|
|
142
|
-
*/
|
|
143
51
|
getSequentialParameters(): string[];
|
|
144
|
-
/**
|
|
145
|
-
* @returns A new configuration object with the same parameters as this one.
|
|
146
|
-
*/
|
|
147
52
|
clone(): ConfigurationParameters;
|
|
148
|
-
/**
|
|
149
|
-
* Adds all parameters and checks from the given configuration to this one.
|
|
150
|
-
*/
|
|
151
53
|
addAllOf(toAdd: ConfigurationParameters): void;
|
|
152
54
|
}
|
|
153
|
-
/**
|
|
154
|
-
* Parses command line arguments according to parameter definitions.
|
|
155
|
-
*
|
|
156
|
-
* @param args - Array of command line arguments to parse
|
|
157
|
-
* @param parameters - Configuration parameters defining valid options
|
|
158
|
-
* @returns Parsed options object with parameter values
|
|
159
|
-
* @throws Error if parameter values are invalid or missing
|
|
160
|
-
*/
|
|
161
55
|
export declare function parseArguments<OptionsType extends Record<string, unknown>>(args: string[], parameters: ConfigurationParameters): Partial<OptionsType>;
|
|
162
|
-
/**
|
|
163
|
-
* Parses a configuration file content into options and unnamed arguments.
|
|
164
|
-
*
|
|
165
|
-
* @param fileContent - Content of the configuration file to parse
|
|
166
|
-
* @param parameters - Configuration parameters defining valid options
|
|
167
|
-
* @returns Object containing parsed options and unnamed arguments
|
|
168
|
-
* @throws Error if the configuration file contains invalid parameters or values
|
|
169
|
-
*/
|
|
170
56
|
export declare function parseConfigFile(fileContent: string, parameters: ConfigurationParameters): ConfigParsingResult;
|
|
171
|
-
/**
|
|
172
|
-
* Prints help information for all registered parameters.
|
|
173
|
-
*
|
|
174
|
-
* @param parameters - Configuration parameters to display help for
|
|
175
|
-
* @param aboutText - Optional descriptive text to display before parameter help
|
|
176
|
-
* @param printParamterId - Print the ID of the parameter instead of the command line parameter names?
|
|
177
|
-
*/
|
|
178
57
|
export declare function printHelp(parameters: ConfigurationParameters, aboutText?: string, printParamterId?: boolean): void;
|
|
179
|
-
/**
|
|
180
|
-
* Runs the config parameter checks for the given options.
|
|
181
|
-
*/
|
|
182
58
|
export declare function checkArguments(configParameters: ConfigurationParameters, options: Options, errorReceiver?: (error: string) => void): boolean;
|
|
183
|
-
/**
|
|
184
|
-
* Parses the command-line arguments.
|
|
185
|
-
*/
|
|
186
59
|
export declare function processCommandLine<O>(parameters: ConfigurationParameters, appInfos: AppInfos, args?: string[], beforeCheckCallback?: (options: O) => void): O;
|
|
187
|
-
/**
|
|
188
|
-
* Creates a new configuration object by merging two configuration objects.
|
|
189
|
-
*/
|
|
190
60
|
export declare function parameterUnion(parameters1: ConfigurationParameters, parameters2: ConfigurationParameters): ConfigurationParameters;
|
|
191
61
|
//# sourceMappingURL=ConfigParser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigParser.d.ts","sourceRoot":"","sources":["../src/ConfigParser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ConfigParser.d.ts","sourceRoot":"","sources":["../src/ConfigParser.ts"],"names":[],"mappings":"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"}
|
package/lib/ConfigParser.js
CHANGED
|
@@ -1,10 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Configuration parser module that handles command-line arguments, environment variables,
|
|
4
|
-
* and configuration files for TypeScript/JavaScript applications.
|
|
5
|
-
*
|
|
6
|
-
* @module ConfigParser
|
|
7
|
-
*/
|
|
8
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
4
|
};
|
|
@@ -20,7 +14,6 @@ exports.processCommandLine = processCommandLine;
|
|
|
20
14
|
exports.parameterUnion = parameterUnion;
|
|
21
15
|
const node_process_1 = __importDefault(require("node:process"));
|
|
22
16
|
const Exceptions_1 = require("./Exceptions");
|
|
23
|
-
/** Parameter group for --version and --help */
|
|
24
17
|
exports.CONFIG_GROUP_APP = {
|
|
25
18
|
order: 999,
|
|
26
19
|
title: 'Application'
|
|
@@ -39,30 +32,14 @@ function expectedArgumentCount(parameterDescriptor) {
|
|
|
39
32
|
throw new Exceptions_1.InvalidConfigurationException(`Unsupported parameter type "${parameterDescriptor.type}" for parameter "${parameterDescriptor.longParameter}".`);
|
|
40
33
|
}
|
|
41
34
|
}
|
|
42
|
-
/**
|
|
43
|
-
* Converts a parameter name (with dashes) to a camelCase parameter ID.
|
|
44
|
-
*
|
|
45
|
-
* @param parameterName - The parameter name to convert (e.g., --my-param)
|
|
46
|
-
* @returns The camelCase parameter ID (e.g., myParam)
|
|
47
|
-
*/
|
|
48
35
|
function parameterNameToParameterId(parameterName) {
|
|
49
36
|
const withoutLeadingDashes = parameterName.replace(/^-+/, '');
|
|
50
37
|
return withoutLeadingDashes.replace(/-([a-z])/g, (_, char) => char.toUpperCase());
|
|
51
38
|
}
|
|
52
|
-
/**
|
|
53
|
-
* Converts a long parameter name to an environment variable name.
|
|
54
|
-
*
|
|
55
|
-
* @param longParameter - The long parameter name (e.g., --my-param)
|
|
56
|
-
* @returns The environment variable name (e.g., MY_PARAM)
|
|
57
|
-
*/
|
|
58
39
|
function longParameterToEnvironmentVariableName(longParameter) {
|
|
59
40
|
const withoutLeadingDashes = longParameter.replace(/^--/, '');
|
|
60
41
|
return withoutLeadingDashes.toUpperCase().replace(/-/g, '_');
|
|
61
42
|
}
|
|
62
|
-
/**
|
|
63
|
-
* Manages configuration parameters and their properties.
|
|
64
|
-
* Provides functionality to add, describe, and parse parameters.
|
|
65
|
-
*/
|
|
66
43
|
class ConfigurationParameters {
|
|
67
44
|
constructor() {
|
|
68
45
|
this.parameters = new Map();
|
|
@@ -70,14 +47,6 @@ class ConfigurationParameters {
|
|
|
70
47
|
this.sequentialParameters = [];
|
|
71
48
|
this.argumentChecks = [];
|
|
72
49
|
}
|
|
73
|
-
/**
|
|
74
|
-
* Adds a new parameter to the configuration.
|
|
75
|
-
*
|
|
76
|
-
* @param shortParameter - Optional short form of the parameter (e.g., -p)
|
|
77
|
-
* @param longParameter - Long form of the parameter (e.g., --port)
|
|
78
|
-
* @param type - Parameter's data type
|
|
79
|
-
* @param options - Additional parameter options including a help text and default value
|
|
80
|
-
*/
|
|
81
50
|
addParameter(shortParameter, longParameter, type, options = {}) {
|
|
82
51
|
var _a, _b;
|
|
83
52
|
const parameterId = parameterNameToParameterId(longParameter);
|
|
@@ -89,18 +58,9 @@ class ConfigurationParameters {
|
|
|
89
58
|
group: options.group,
|
|
90
59
|
environmentVariableName });
|
|
91
60
|
}
|
|
92
|
-
/**
|
|
93
|
-
* Adds a new argument check function to the list of checks.
|
|
94
|
-
*
|
|
95
|
-
* @param check - A function that takes an options object as input and returns a string containing an
|
|
96
|
-
* error message if a validation fails, or undefined if the validation passes.
|
|
97
|
-
*/
|
|
98
61
|
addArgumentCheck(check) {
|
|
99
62
|
this.argumentChecks.push(check);
|
|
100
63
|
}
|
|
101
|
-
/**
|
|
102
|
-
* Makes the given parameter mandatory.
|
|
103
|
-
*/
|
|
104
64
|
addRequiredArgumentFor(parameterId) {
|
|
105
65
|
const parameter = this.lookupParameter(parameterId);
|
|
106
66
|
if (parameter === undefined) {
|
|
@@ -118,16 +78,8 @@ class ConfigurationParameters {
|
|
|
118
78
|
return undefined;
|
|
119
79
|
});
|
|
120
80
|
}
|
|
121
|
-
/**
|
|
122
|
-
* Describes a parameter with its complete set of properties.
|
|
123
|
-
*
|
|
124
|
-
* @param parameterId - Internal identifier for the parameter
|
|
125
|
-
* @param descriptor - Complete parameter descriptor
|
|
126
|
-
* @throws Error if short parameter is invalid or already mapped
|
|
127
|
-
*/
|
|
128
81
|
describeParameter(parameterId, descriptor) {
|
|
129
82
|
this.parameters.set(parameterId, descriptor);
|
|
130
|
-
// Store a mapping for short parameters to their expanded (long) counterpart.
|
|
131
83
|
if (descriptor.shortParameter) {
|
|
132
84
|
const shortParameterId = descriptor.shortParameter.replace(/^-/, '').trim().toLowerCase();
|
|
133
85
|
if (shortParameterId.length < 1 || shortParameterId.length > 3) {
|
|
@@ -139,17 +91,10 @@ class ConfigurationParameters {
|
|
|
139
91
|
}
|
|
140
92
|
this.shortToLongParameterMap.set(shortParameterId, descriptor.parameterId);
|
|
141
93
|
}
|
|
142
|
-
// Maybe it describes a sequential parameter.
|
|
143
94
|
if (!descriptor.longParameter.startsWith('--')) {
|
|
144
95
|
this.sequentialParameters.push(parameterId);
|
|
145
96
|
}
|
|
146
97
|
}
|
|
147
|
-
/**
|
|
148
|
-
* Looks up a parameter descriptor by its ID.
|
|
149
|
-
*
|
|
150
|
-
* @param parameterId - Parameter identifier to look up
|
|
151
|
-
* @returns Parameter descriptor if found, undefined otherwise
|
|
152
|
-
*/
|
|
153
98
|
lookupParameter(parameterId) {
|
|
154
99
|
let result = this.parameters.get(parameterId);
|
|
155
100
|
if (result === undefined) {
|
|
@@ -160,31 +105,15 @@ class ConfigurationParameters {
|
|
|
160
105
|
}
|
|
161
106
|
return result;
|
|
162
107
|
}
|
|
163
|
-
/**
|
|
164
|
-
* Returns all registered parameter descriptors.
|
|
165
|
-
*
|
|
166
|
-
* @returns Array of all parameter descriptors
|
|
167
|
-
*/
|
|
168
108
|
getParameters() {
|
|
169
109
|
return Array.from(this.parameters.values());
|
|
170
110
|
}
|
|
171
|
-
/**
|
|
172
|
-
* Retrieves the collection of functions used for argument validation.
|
|
173
|
-
*/
|
|
174
111
|
getArgumentChecks() {
|
|
175
112
|
return this.argumentChecks;
|
|
176
113
|
}
|
|
177
|
-
/**
|
|
178
|
-
* Returns an array of parameter IDs that are configured as sequential parameters.
|
|
179
|
-
* That is, parameters that are given without a name but where their mapping
|
|
180
|
-
* to concrete parameters is defined by their position in the command line.
|
|
181
|
-
*/
|
|
182
114
|
getSequentialParameters() {
|
|
183
115
|
return this.sequentialParameters;
|
|
184
116
|
}
|
|
185
|
-
/**
|
|
186
|
-
* @returns A new configuration object with the same parameters as this one.
|
|
187
|
-
*/
|
|
188
117
|
clone() {
|
|
189
118
|
const clone = new ConfigurationParameters();
|
|
190
119
|
for (const parameter of this.parameters.values()) {
|
|
@@ -195,9 +124,6 @@ class ConfigurationParameters {
|
|
|
195
124
|
}
|
|
196
125
|
return clone;
|
|
197
126
|
}
|
|
198
|
-
/**
|
|
199
|
-
* Adds all parameters and checks from the given configuration to this one.
|
|
200
|
-
*/
|
|
201
127
|
addAllOf(toAdd) {
|
|
202
128
|
for (const parameter of toAdd.getParameters()) {
|
|
203
129
|
this.describeParameter(parameter.parameterId, parameter);
|
|
@@ -208,14 +134,6 @@ class ConfigurationParameters {
|
|
|
208
134
|
}
|
|
209
135
|
}
|
|
210
136
|
exports.ConfigurationParameters = ConfigurationParameters;
|
|
211
|
-
/**
|
|
212
|
-
* Parses command line arguments according to parameter definitions.
|
|
213
|
-
*
|
|
214
|
-
* @param args - Array of command line arguments to parse
|
|
215
|
-
* @param parameters - Configuration parameters defining valid options
|
|
216
|
-
* @returns Parsed options object with parameter values
|
|
217
|
-
* @throws Error if parameter values are invalid or missing
|
|
218
|
-
*/
|
|
219
137
|
function parseArguments(args, parameters) {
|
|
220
138
|
const result = {};
|
|
221
139
|
let activeParameter;
|
|
@@ -234,8 +152,6 @@ function parseArguments(args, parameters) {
|
|
|
234
152
|
}
|
|
235
153
|
else if (activeParameter.type === 'string[]') {
|
|
236
154
|
const targetList = result[activeParameter.parameterId];
|
|
237
|
-
// A list argument can be either provided by separating a string with commas
|
|
238
|
-
// or by pasing multiple string arguments (separated by space) in a sequence.
|
|
239
155
|
const argumentsNormalizedAsList = parseStringListArgument(activeArguments.join(","));
|
|
240
156
|
if (isDefinedStringList(targetList)) {
|
|
241
157
|
result[activeParameter.parameterId] = targetList.concat(argumentsNormalizedAsList);
|
|
@@ -275,8 +191,6 @@ function parseArguments(args, parameters) {
|
|
|
275
191
|
}
|
|
276
192
|
}
|
|
277
193
|
finishParameter();
|
|
278
|
-
// Set default values for parameters for which we did not receive an argument.
|
|
279
|
-
// Or read the value from an ENVIRONMENT_VARIABLE.
|
|
280
194
|
for (const parameter of parameters.getParameters()) {
|
|
281
195
|
if (result[parameter.parameterId] === undefined) {
|
|
282
196
|
result[parameter.parameterId] = parameter.default;
|
|
@@ -338,14 +252,6 @@ function parseWithProperType(value, parameterDescriptor) {
|
|
|
338
252
|
function isDefinedStringList(option) {
|
|
339
253
|
return Array.isArray(option) && option.every(item => typeof item === 'string');
|
|
340
254
|
}
|
|
341
|
-
/**
|
|
342
|
-
* Parses a configuration file content into options and unnamed arguments.
|
|
343
|
-
*
|
|
344
|
-
* @param fileContent - Content of the configuration file to parse
|
|
345
|
-
* @param parameters - Configuration parameters defining valid options
|
|
346
|
-
* @returns Object containing parsed options and unnamed arguments
|
|
347
|
-
* @throws Error if the configuration file contains invalid parameters or values
|
|
348
|
-
*/
|
|
349
255
|
function parseConfigFile(fileContent, parameters) {
|
|
350
256
|
const options = {};
|
|
351
257
|
const unnamedArguments = [];
|
|
@@ -381,13 +287,6 @@ function parseConfigFile(fileContent, parameters) {
|
|
|
381
287
|
}
|
|
382
288
|
return { options, unnamedArguments };
|
|
383
289
|
}
|
|
384
|
-
/**
|
|
385
|
-
* Prints help information for all registered parameters.
|
|
386
|
-
*
|
|
387
|
-
* @param parameters - Configuration parameters to display help for
|
|
388
|
-
* @param aboutText - Optional descriptive text to display before parameter help
|
|
389
|
-
* @param printParamterId - Print the ID of the parameter instead of the command line parameter names?
|
|
390
|
-
*/
|
|
391
290
|
function printHelp(parameters, aboutText, printParamterId = false) {
|
|
392
291
|
const lines = [];
|
|
393
292
|
if (aboutText) {
|
|
@@ -404,11 +303,12 @@ function printHelp(parameters, aboutText, printParamterId = false) {
|
|
|
404
303
|
lines.push(`# ${group.groupTitle}`);
|
|
405
304
|
lines.push('');
|
|
406
305
|
}
|
|
306
|
+
if (group.groupHint) {
|
|
307
|
+
lines.push(restrictLineLengthTo(group.groupHint, 80));
|
|
308
|
+
lines.push('');
|
|
309
|
+
}
|
|
407
310
|
for (const descriptor of group.parameters) {
|
|
408
311
|
if (descriptor.internal) {
|
|
409
|
-
// Do not print internal parameters.
|
|
410
|
-
// Note that getting them via the command line would still not be a problem;
|
|
411
|
-
// typically, it would only define a new default value.
|
|
412
312
|
continue;
|
|
413
313
|
}
|
|
414
314
|
function getArgumentPlaceholder() {
|
|
@@ -447,10 +347,6 @@ function printHelp(parameters, aboutText, printParamterId = false) {
|
|
|
447
347
|
lines.push('');
|
|
448
348
|
console.log(lines.join('\n'));
|
|
449
349
|
}
|
|
450
|
-
/**
|
|
451
|
-
* Add breaks after words (replace space by newline) in case a sentence gets longer
|
|
452
|
-
* on one line than the specified `maxLineLength`.
|
|
453
|
-
*/
|
|
454
350
|
function restrictLineLengthTo(text, maxLineLength) {
|
|
455
351
|
text = text.replace(/\n/g, ' ');
|
|
456
352
|
const words = text.split(' ');
|
|
@@ -478,20 +374,22 @@ function ensureTabAfterNewline(text) {
|
|
|
478
374
|
return text.replace(/\n/g, '\n\t');
|
|
479
375
|
}
|
|
480
376
|
function groupAndSortParameterDescriptors(parameters) {
|
|
481
|
-
var _a;
|
|
377
|
+
var _a, _b, _c;
|
|
482
378
|
const parametersByGroup = new Map();
|
|
483
379
|
const groupOrders = new Map();
|
|
484
|
-
|
|
380
|
+
const groupHints = new Map();
|
|
485
381
|
for (const parameter of parameters.getParameters()) {
|
|
486
382
|
const groupTitle = (_a = parameter.group) === null || _a === void 0 ? void 0 : _a.title;
|
|
487
383
|
if (parameter.group) {
|
|
488
384
|
groupOrders.set(groupTitle, parameter.group.order);
|
|
489
385
|
}
|
|
386
|
+
if ((_b = parameter.group) === null || _b === void 0 ? void 0 : _b.hints) {
|
|
387
|
+
groupHints.set(groupTitle, (_c = parameter.group) === null || _c === void 0 ? void 0 : _c.hints);
|
|
388
|
+
}
|
|
490
389
|
const groupParameters = parametersByGroup.get(groupTitle) || [];
|
|
491
390
|
groupParameters.push(parameter);
|
|
492
391
|
parametersByGroup.set(groupTitle, groupParameters);
|
|
493
392
|
}
|
|
494
|
-
// Convert to array and sort by group order
|
|
495
393
|
return Array.from(parametersByGroup.entries())
|
|
496
394
|
.sort(([groupTitle1], [groupTitle2]) => {
|
|
497
395
|
var _a, _b;
|
|
@@ -501,12 +399,10 @@ function groupAndSortParameterDescriptors(parameters) {
|
|
|
501
399
|
})
|
|
502
400
|
.map(([groupTitle, parameters]) => ({
|
|
503
401
|
groupTitle,
|
|
402
|
+
groupHint: groupHints.get(groupTitle),
|
|
504
403
|
parameters: parameters.sort((a, b) => a.longParameter.localeCompare(b.longParameter))
|
|
505
404
|
}));
|
|
506
405
|
}
|
|
507
|
-
/**
|
|
508
|
-
* Runs the config parameter checks for the given options.
|
|
509
|
-
*/
|
|
510
406
|
function checkArguments(configParameters, options, errorReceiver) {
|
|
511
407
|
let argumentsValid = true;
|
|
512
408
|
if (!errorReceiver) {
|
|
@@ -523,11 +419,7 @@ function checkArguments(configParameters, options, errorReceiver) {
|
|
|
523
419
|
}
|
|
524
420
|
return argumentsValid;
|
|
525
421
|
}
|
|
526
|
-
/**
|
|
527
|
-
* Parses the command-line arguments.
|
|
528
|
-
*/
|
|
529
422
|
function processCommandLine(parameters, appInfos, args, beforeCheckCallback) {
|
|
530
|
-
// Fall back to the NodeJS process's arguments if no arguments are given.
|
|
531
423
|
args = args !== null && args !== void 0 ? args : node_process_1.default.argv.slice(2);
|
|
532
424
|
const configParameters = parameters.clone();
|
|
533
425
|
configParameters.addParameter('-h', '--help', 'bool', {
|
|
@@ -556,9 +448,6 @@ function processCommandLine(parameters, appInfos, args, beforeCheckCallback) {
|
|
|
556
448
|
}
|
|
557
449
|
return options;
|
|
558
450
|
}
|
|
559
|
-
/**
|
|
560
|
-
* Creates a new configuration object by merging two configuration objects.
|
|
561
|
-
*/
|
|
562
451
|
function parameterUnion(parameters1, parameters2) {
|
|
563
452
|
const result = parameters1.clone();
|
|
564
453
|
result.addAllOf(parameters2);
|
package/lib/ConfigParser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigParser.js","sourceRoot":"","sources":["../src/ConfigParser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ConfigParser.js","sourceRoot":"","sources":["../src/ConfigParser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,4 @@
|
|
|
1
1
|
import { ConfigurationParameters, ConfigValueType, Options } from './ConfigParser';
|
|
2
|
-
/**
|
|
3
|
-
* Configuration with a possibility to overwrite configuration values for this app run,
|
|
4
|
-
* delegating to the base configuration if no overwrite was performed.
|
|
5
|
-
* For type-safe access, use `makeConfigProxy` to create a proxy object.
|
|
6
|
-
*/
|
|
7
2
|
export declare class ConfigurationWithOverwrites<BaseConfigType extends Options> {
|
|
8
3
|
private readonly baseConfiguration;
|
|
9
4
|
private readonly redefinableParameters;
|
|
@@ -11,32 +6,14 @@ export declare class ConfigurationWithOverwrites<BaseConfigType extends Options>
|
|
|
11
6
|
private overwrites;
|
|
12
7
|
private hash?;
|
|
13
8
|
constructor(allParameters: ConfigurationParameters, redefinableParameters: ConfigurationParameters, baseConfiguration: Record<string, ConfigValueType>, overwrites?: Record<string, ConfigValueType>);
|
|
14
|
-
/**
|
|
15
|
-
* Retrieves the value of a configuration parameter based on the provided parameter ID.
|
|
16
|
-
*/
|
|
17
9
|
get(parameterId: string): ConfigValueType;
|
|
18
|
-
/**
|
|
19
|
-
* Sets the specified parameter with a given value in the `overwrites` map.
|
|
20
|
-
*/
|
|
21
10
|
set(parameterId: string, value: ConfigValueType): void;
|
|
22
|
-
/**
|
|
23
|
-
* Updates or removes a configuration-overwrite for the given parameter.
|
|
24
|
-
*/
|
|
25
11
|
overwriteConfig(parameter: string, value: ConfigValueType | undefined): void;
|
|
26
12
|
private castConfigArgument;
|
|
27
13
|
private assertParameterExists;
|
|
28
14
|
private getParameter;
|
|
29
|
-
/**
|
|
30
|
-
* Computes a hash for the given (possibly overwritten) configuration.
|
|
31
|
-
*/
|
|
32
15
|
getHash(): string;
|
|
33
|
-
/**
|
|
34
|
-
* Copies the given configuration along with the overrides.
|
|
35
|
-
*/
|
|
36
16
|
copy(): ConfigurationWithOverwrites<BaseConfigType>;
|
|
37
17
|
}
|
|
38
|
-
/**
|
|
39
|
-
* Creates a proxy object to retrieve and set config options via the attributes in the `BaseConfigType` interface.
|
|
40
|
-
*/
|
|
41
18
|
export declare function makeConfigProxy<BaseConfigType extends Options>(configuration: ConfigurationWithOverwrites<BaseConfigType>): BaseConfigType;
|
|
42
19
|
//# sourceMappingURL=ConfigWithOverwrites.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigWithOverwrites.d.ts","sourceRoot":"","sources":["../src/ConfigWithOverwrites.ts"],"names":[],"mappings":"AACA,OAAO,EACN,uBAAuB,EACvB,eAAe,EACf,OAAO,EAGP,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"ConfigWithOverwrites.d.ts","sourceRoot":"","sources":["../src/ConfigWithOverwrites.ts"],"names":[],"mappings":"AACA,OAAO,EACN,uBAAuB,EACvB,eAAe,EACf,OAAO,EAGP,MAAM,gBAAgB,CAAC;AAQxB,qBAAa,2BAA2B,CAAC,cAAc,SAAS,OAAO;IAEtE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkC;IAEpE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA0B;IAEhE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0B;IAExD,OAAO,CAAC,UAAU,CAAkC;IAEpD,OAAO,CAAC,IAAI,CAAC,CAAS;gBAEV,aAAa,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,uBAAuB,EAC/F,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC;IAW5F,GAAG,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe;IAQzC,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,IAAI;IAYtD,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,SAAS,GAAG,IAAI;IAWnF,OAAO,CAAC,kBAAkB;IAyC1B,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,YAAY;IAWb,OAAO,IAAI,MAAM;IAoBjB,IAAI,IAAI,2BAA2B,CAAC,cAAc,CAAC;CAM1D;AAKD,wBAAgB,eAAe,CAAC,cAAc,SAAS,OAAO,EAC7D,aAAa,EAAE,2BAA2B,CAAC,cAAc,CAAC,GAAG,cAAc,CAU3E"}
|
|
@@ -5,11 +5,6 @@ exports.makeConfigProxy = makeConfigProxy;
|
|
|
5
5
|
const Contract_1 = require("./Contract");
|
|
6
6
|
const ConfigParser_1 = require("./ConfigParser");
|
|
7
7
|
const node_crypto_1 = require("node:crypto");
|
|
8
|
-
/**
|
|
9
|
-
* Configuration with a possibility to overwrite configuration values for this app run,
|
|
10
|
-
* delegating to the base configuration if no overwrite was performed.
|
|
11
|
-
* For type-safe access, use `makeConfigProxy` to create a proxy object.
|
|
12
|
-
*/
|
|
13
8
|
class ConfigurationWithOverwrites {
|
|
14
9
|
constructor(allParameters, redefinableParameters, baseConfiguration, overwrites) {
|
|
15
10
|
this.baseConfiguration = Contract_1.Contract.requireDefined(baseConfiguration);
|
|
@@ -18,17 +13,11 @@ class ConfigurationWithOverwrites {
|
|
|
18
13
|
this.overwrites = overwrites !== null && overwrites !== void 0 ? overwrites : {};
|
|
19
14
|
this.hash = undefined;
|
|
20
15
|
}
|
|
21
|
-
/**
|
|
22
|
-
* Retrieves the value of a configuration parameter based on the provided parameter ID.
|
|
23
|
-
*/
|
|
24
16
|
get(parameterId) {
|
|
25
17
|
var _a;
|
|
26
18
|
this.assertParameterExists(parameterId);
|
|
27
19
|
return (_a = this.overwrites[parameterId]) !== null && _a !== void 0 ? _a : this.baseConfiguration[parameterId];
|
|
28
20
|
}
|
|
29
|
-
/**
|
|
30
|
-
* Sets the specified parameter with a given value in the `overwrites` map.
|
|
31
|
-
*/
|
|
32
21
|
set(parameterId, value) {
|
|
33
22
|
if (this.redefinableParameters.lookupParameter(parameterId) === undefined) {
|
|
34
23
|
throw new Error(`Unknown configuration parameter: ${parameterId}`);
|
|
@@ -36,9 +25,6 @@ class ConfigurationWithOverwrites {
|
|
|
36
25
|
this.overwriteConfig(parameterId, value);
|
|
37
26
|
this.hash = undefined;
|
|
38
27
|
}
|
|
39
|
-
/**
|
|
40
|
-
* Updates or removes a configuration-overwrite for the given parameter.
|
|
41
|
-
*/
|
|
42
28
|
overwriteConfig(parameter, value) {
|
|
43
29
|
const parameterId = (0, ConfigParser_1.parameterNameToParameterId)(parameter);
|
|
44
30
|
this.assertParameterExists(parameterId);
|
|
@@ -86,7 +72,6 @@ class ConfigurationWithOverwrites {
|
|
|
86
72
|
}
|
|
87
73
|
}
|
|
88
74
|
else {
|
|
89
|
-
// string type
|
|
90
75
|
return String(value);
|
|
91
76
|
}
|
|
92
77
|
throw new Error(`Cannot cast value of type ${typeof value} to ${type}`);
|
|
@@ -103,9 +88,6 @@ class ConfigurationWithOverwrites {
|
|
|
103
88
|
}
|
|
104
89
|
return parameter;
|
|
105
90
|
}
|
|
106
|
-
/**
|
|
107
|
-
* Computes a hash for the given (possibly overwritten) configuration.
|
|
108
|
-
*/
|
|
109
91
|
getHash() {
|
|
110
92
|
if (this.hash === undefined) {
|
|
111
93
|
const hash = (0, node_crypto_1.createHash)('sha256');
|
|
@@ -121,18 +103,12 @@ class ConfigurationWithOverwrites {
|
|
|
121
103
|
}
|
|
122
104
|
return this.hash;
|
|
123
105
|
}
|
|
124
|
-
/**
|
|
125
|
-
* Copies the given configuration along with the overrides.
|
|
126
|
-
*/
|
|
127
106
|
copy() {
|
|
128
107
|
const overwritesCopy = JSON.parse(JSON.stringify(this.overwrites));
|
|
129
108
|
return new ConfigurationWithOverwrites(this.allParameters, this.redefinableParameters, this.baseConfiguration, overwritesCopy);
|
|
130
109
|
}
|
|
131
110
|
}
|
|
132
111
|
exports.ConfigurationWithOverwrites = ConfigurationWithOverwrites;
|
|
133
|
-
/**
|
|
134
|
-
* Creates a proxy object to retrieve and set config options via the attributes in the `BaseConfigType` interface.
|
|
135
|
-
*/
|
|
136
112
|
function makeConfigProxy(configuration) {
|
|
137
113
|
return new Proxy(configuration, {
|
|
138
114
|
get(_, property) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigWithOverwrites.js","sourceRoot":"","sources":["../src/ConfigWithOverwrites.ts"],"names":[],"mappings":";;;AA+JA,0CAWC;AA1KD,yCAAsC;AACtC,iDAMwB;AACxB,6CAAyC;
|
|
1
|
+
{"version":3,"file":"ConfigWithOverwrites.js","sourceRoot":"","sources":["../src/ConfigWithOverwrites.ts"],"names":[],"mappings":"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"}
|
package/lib/Contract.d.ts
CHANGED
|
@@ -1,39 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Nullable type.
|
|
3
|
-
*/
|
|
4
1
|
export type Nullable<Type> = Type | null;
|
|
5
|
-
/**
|
|
6
|
-
* Methods to express and check code contracts.
|
|
7
|
-
*/
|
|
8
2
|
export declare class Contract {
|
|
9
|
-
/**
|
|
10
|
-
* The given predicate `condition` has to be satisfied.
|
|
11
|
-
*
|
|
12
|
-
* @param condition Condition predicate (boolean value)
|
|
13
|
-
* @param message Message describing the condition.
|
|
14
|
-
*/
|
|
15
3
|
static require(condition: boolean, message?: string): void;
|
|
16
|
-
/**
|
|
17
|
-
* Require that the given argument `obj` is defined.
|
|
18
|
-
*
|
|
19
|
-
* @param obj The object that has to be defined.
|
|
20
|
-
* @param message The message describing this requirement.
|
|
21
|
-
*/
|
|
22
4
|
static requireDefined<E>(obj: Nullable<E>, message?: string): E;
|
|
23
|
-
/**
|
|
24
|
-
* Require that the given string is not empty.
|
|
25
|
-
*
|
|
26
|
-
* @param text The string to check.
|
|
27
|
-
* @param message The message that describes the requirement.
|
|
28
|
-
*/
|
|
29
5
|
static requireNonEmpty(text: string, message?: string): string;
|
|
30
|
-
/**
|
|
31
|
-
* Require that the string adheres to a particular pattern.
|
|
32
|
-
*
|
|
33
|
-
* @param text The string to check.
|
|
34
|
-
* @param regexp The regular expression to satisfy.
|
|
35
|
-
* @param message The message describing the requirement.
|
|
36
|
-
*/
|
|
37
6
|
static requireStringPattern(text: string, regexp: string | RegExp, message?: string): string;
|
|
38
7
|
}
|
|
39
8
|
//# sourceMappingURL=Contract.d.ts.map
|
package/lib/Contract.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Contract.d.ts","sourceRoot":"","sources":["../src/Contract.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Contract.d.ts","sourceRoot":"","sources":["../src/Contract.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,QAAQ,CAAC,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC;AAKzC,qBAAa,QAAQ;WAON,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;WAYnD,cAAc,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC;WA2BxD,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM;WAgBvD,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM;CAUnG"}
|
package/lib/Contract.js
CHANGED
|
@@ -2,27 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Contract = void 0;
|
|
4
4
|
const Exceptions_1 = require("./Exceptions");
|
|
5
|
-
/**
|
|
6
|
-
* Methods to express and check code contracts.
|
|
7
|
-
*/
|
|
8
5
|
class Contract {
|
|
9
|
-
/**
|
|
10
|
-
* The given predicate `condition` has to be satisfied.
|
|
11
|
-
*
|
|
12
|
-
* @param condition Condition predicate (boolean value)
|
|
13
|
-
* @param message Message describing the condition.
|
|
14
|
-
*/
|
|
15
6
|
static require(condition, message) {
|
|
16
7
|
if (!condition) {
|
|
17
8
|
throw new Exceptions_1.IllegalArgumentException(message);
|
|
18
9
|
}
|
|
19
10
|
}
|
|
20
|
-
/**
|
|
21
|
-
* Require that the given argument `obj` is defined.
|
|
22
|
-
*
|
|
23
|
-
* @param obj The object that has to be defined.
|
|
24
|
-
* @param message The message describing this requirement.
|
|
25
|
-
*/
|
|
26
11
|
static requireDefined(obj, message) {
|
|
27
12
|
if (obj) {
|
|
28
13
|
return obj;
|
|
@@ -31,7 +16,6 @@ class Contract {
|
|
|
31
16
|
return obj;
|
|
32
17
|
}
|
|
33
18
|
if (typeof obj === 'string' || obj instanceof String) {
|
|
34
|
-
// Deal with the case `obj === ""`
|
|
35
19
|
return obj;
|
|
36
20
|
}
|
|
37
21
|
if (message) {
|
|
@@ -41,12 +25,6 @@ class Contract {
|
|
|
41
25
|
throw new Exceptions_1.IllegalArgumentException('Reference must be defined.');
|
|
42
26
|
}
|
|
43
27
|
}
|
|
44
|
-
/**
|
|
45
|
-
* Require that the given string is not empty.
|
|
46
|
-
*
|
|
47
|
-
* @param text The string to check.
|
|
48
|
-
* @param message The message that describes the requirement.
|
|
49
|
-
*/
|
|
50
28
|
static requireNonEmpty(text, message) {
|
|
51
29
|
this.requireDefined(text);
|
|
52
30
|
if (text.length === 0) {
|
|
@@ -54,13 +32,6 @@ class Contract {
|
|
|
54
32
|
}
|
|
55
33
|
return text;
|
|
56
34
|
}
|
|
57
|
-
/**
|
|
58
|
-
* Require that the string adheres to a particular pattern.
|
|
59
|
-
*
|
|
60
|
-
* @param text The string to check.
|
|
61
|
-
* @param regexp The regular expression to satisfy.
|
|
62
|
-
* @param message The message describing the requirement.
|
|
63
|
-
*/
|
|
64
35
|
static requireStringPattern(text, regexp, message) {
|
|
65
36
|
this.requireDefined(text);
|
|
66
37
|
this.requireDefined(regexp);
|
package/lib/Contract.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Contract.js","sourceRoot":"","sources":["../src/Contract.ts"],"names":[],"mappings":";;;AAAA,6CAAwD;
|
|
1
|
+
{"version":3,"file":"Contract.js","sourceRoot":"","sources":["../src/Contract.ts"],"names":[],"mappings":";;;AAAA,6CAAwD;AAUxD,MAAa,QAAQ;IAOb,MAAM,CAAC,OAAO,CAAC,SAAkB,EAAE,OAAgB;QACzD,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,MAAM,IAAI,qCAAwB,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;IACF,CAAC;IAQM,MAAM,CAAC,cAAc,CAAI,GAAgB,EAAE,OAAgB;QACjE,IAAI,GAAG,EAAE,CAAC;YACT,OAAO,GAAG,CAAC;QACZ,CAAC;QAED,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,SAAS,EAAE,CAAC;YACzD,OAAO,GAAG,CAAC;QACZ,CAAC;QAED,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,YAAY,MAAM,EAAE,CAAC;YAEtD,OAAO,GAAG,CAAC;QACZ,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,qCAAwB,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,qCAAwB,CAAC,4BAA4B,CAAC,CAAC;QAClE,CAAC;IACF,CAAC;IAQM,MAAM,CAAC,eAAe,CAAC,IAAY,EAAE,OAAgB;QAC3D,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,qCAAwB,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IASM,MAAM,CAAC,oBAAoB,CAAC,IAAY,EAAE,MAAuB,EAAE,OAAgB;QACzF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAE5B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,qCAAwB,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;CACD;AAxED,4BAwEC"}
|
package/lib/Exceptions.d.ts
CHANGED
|
@@ -1,27 +1,12 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Excepting signaling that there is functionality that is supposed
|
|
3
|
-
* to be implemented in case the exception is thrown.
|
|
4
|
-
*
|
|
5
|
-
* This is helpful for writing prototypes and not yet handling all possible cases.
|
|
6
|
-
*/
|
|
7
1
|
export declare class ImplementMeException extends Error {
|
|
8
2
|
private readonly _implementMeFor?;
|
|
9
3
|
constructor(implementMeFor?: string);
|
|
10
4
|
get message(): string;
|
|
11
5
|
}
|
|
12
|
-
/**
|
|
13
|
-
* Exception signaling that the application is in an invalid state.
|
|
14
|
-
*/
|
|
15
6
|
export declare class IllegalStateException extends Error {
|
|
16
7
|
}
|
|
17
|
-
/**
|
|
18
|
-
* Exception signaling that an invalid argument has been passed for a parameter.
|
|
19
|
-
*/
|
|
20
8
|
export declare class IllegalArgumentException extends Error {
|
|
21
9
|
}
|
|
22
|
-
/**
|
|
23
|
-
* Exception signaling that a component is mis-configured.
|
|
24
|
-
*/
|
|
25
10
|
export declare class InvalidConfigurationException extends Error {
|
|
26
11
|
}
|
|
27
12
|
//# sourceMappingURL=Exceptions.d.ts.map
|
package/lib/Exceptions.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Exceptions.d.ts","sourceRoot":"","sources":["../src/Exceptions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Exceptions.d.ts","sourceRoot":"","sources":["../src/Exceptions.ts"],"names":[],"mappings":"AAMA,qBAAa,oBAAqB,SAAQ,KAAK;IAC9C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAS;gBAE9B,cAAc,CAAC,EAAE,MAAM;IAKnC,IAAI,OAAO,IAAI,MAAM,CAMpB;CACD;AAKD,qBAAa,qBAAsB,SAAQ,KAAK;CAAG;AAKnD,qBAAa,wBAAyB,SAAQ,KAAK;CAAG;AAKtD,qBAAa,6BAA8B,SAAQ,KAAK;CAAG"}
|
package/lib/Exceptions.js
CHANGED
|
@@ -1,12 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.InvalidConfigurationException = exports.IllegalArgumentException = exports.IllegalStateException = exports.ImplementMeException = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Excepting signaling that there is functionality that is supposed
|
|
6
|
-
* to be implemented in case the exception is thrown.
|
|
7
|
-
*
|
|
8
|
-
* This is helpful for writing prototypes and not yet handling all possible cases.
|
|
9
|
-
*/
|
|
10
4
|
class ImplementMeException extends Error {
|
|
11
5
|
constructor(implementMeFor) {
|
|
12
6
|
super('Implement me!');
|
|
@@ -22,21 +16,12 @@ class ImplementMeException extends Error {
|
|
|
22
16
|
}
|
|
23
17
|
}
|
|
24
18
|
exports.ImplementMeException = ImplementMeException;
|
|
25
|
-
/**
|
|
26
|
-
* Exception signaling that the application is in an invalid state.
|
|
27
|
-
*/
|
|
28
19
|
class IllegalStateException extends Error {
|
|
29
20
|
}
|
|
30
21
|
exports.IllegalStateException = IllegalStateException;
|
|
31
|
-
/**
|
|
32
|
-
* Exception signaling that an invalid argument has been passed for a parameter.
|
|
33
|
-
*/
|
|
34
22
|
class IllegalArgumentException extends Error {
|
|
35
23
|
}
|
|
36
24
|
exports.IllegalArgumentException = IllegalArgumentException;
|
|
37
|
-
/**
|
|
38
|
-
* Exception signaling that a component is mis-configured.
|
|
39
|
-
*/
|
|
40
25
|
class InvalidConfigurationException extends Error {
|
|
41
26
|
}
|
|
42
27
|
exports.InvalidConfigurationException = InvalidConfigurationException;
|
package/lib/Exceptions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Exceptions.js","sourceRoot":"","sources":["../src/Exceptions.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Exceptions.js","sourceRoot":"","sources":["../src/Exceptions.ts"],"names":[],"mappings":";;;AAMA,MAAa,oBAAqB,SAAQ,KAAK;IAG9C,YAAY,cAAuB;QAClC,KAAK,CAAC,eAAe,CAAC,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;IACvC,CAAC;IAED,IAAI,OAAO;QACV,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,OAAO,qBAAqB,IAAI,CAAC,eAAe,EAAE,CAAC;QACpD,CAAC;aAAM,CAAC;YACP,OAAO,eAAe,CAAC;QACxB,CAAC;IACF,CAAC;CACD;AAfD,oDAeC;AAKD,MAAa,qBAAsB,SAAQ,KAAK;CAAG;AAAnD,sDAAmD;AAKnD,MAAa,wBAAyB,SAAQ,KAAK;CAAG;AAAtD,4DAAsD;AAKtD,MAAa,6BAA8B,SAAQ,KAAK;CAAG;AAA3D,sEAA2D"}
|
package/lib/Strings.d.ts
CHANGED
|
@@ -1,10 +1,2 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Remove the given prefix, if present, from the given string.
|
|
3
|
-
*
|
|
4
|
-
* @param prefix - The prefix to remove.
|
|
5
|
-
* @param removeFrom - The string to remove the prefix from.
|
|
6
|
-
*
|
|
7
|
-
* @returns a new string where the prefix is removed.
|
|
8
|
-
*/
|
|
9
1
|
export declare function removePrefix(prefix: string, removeFrom: string): string;
|
|
10
2
|
//# sourceMappingURL=Strings.d.ts.map
|
package/lib/Strings.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Strings.d.ts","sourceRoot":"","sources":["../src/Strings.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Strings.d.ts","sourceRoot":"","sources":["../src/Strings.ts"],"names":[],"mappings":"AAQA,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAKvE"}
|
package/lib/Strings.js
CHANGED
|
@@ -1,14 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.removePrefix = removePrefix;
|
|
4
|
-
/**
|
|
5
|
-
* Remove the given prefix, if present, from the given string.
|
|
6
|
-
*
|
|
7
|
-
* @param prefix - The prefix to remove.
|
|
8
|
-
* @param removeFrom - The string to remove the prefix from.
|
|
9
|
-
*
|
|
10
|
-
* @returns a new string where the prefix is removed.
|
|
11
|
-
*/
|
|
12
4
|
function removePrefix(prefix, removeFrom) {
|
|
13
5
|
if (removeFrom.startsWith(prefix)) {
|
|
14
6
|
return removeFrom.substring(prefix.length);
|
package/lib/Strings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Strings.js","sourceRoot":"","sources":["../src/Strings.ts"],"names":[],"mappings":";;AAQA,oCAKC;
|
|
1
|
+
{"version":3,"file":"Strings.js","sourceRoot":"","sources":["../src/Strings.ts"],"names":[],"mappings":";;AAQA,oCAKC;AALD,SAAgB,YAAY,CAAC,MAAc,EAAE,UAAkB;IAC9D,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,OAAO,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,UAAU,CAAC;AACnB,CAAC"}
|
package/lib/Validation.d.ts
CHANGED
package/lib/Validation.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Validation.d.ts","sourceRoot":"","sources":["../src/Validation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Validation.d.ts","sourceRoot":"","sources":["../src/Validation.ts"],"names":[],"mappings":"AAGA,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAoB3D"}
|
package/lib/Validation.js
CHANGED
|
@@ -1,22 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isValidCommitInfo = isValidCommitInfo;
|
|
4
|
-
/**
|
|
5
|
-
* Checks if the given string describes a commit in a valid fashion.
|
|
6
|
-
*/
|
|
7
4
|
function isValidCommitInfo(commit) {
|
|
8
5
|
if (typeof commit === 'string') {
|
|
9
6
|
if (/^[a-zA-Z0-9_-]+:([0-9]+|HEAD|head)$/.test(commit)) {
|
|
10
|
-
// Branch name with a timestamp
|
|
11
7
|
return true;
|
|
12
8
|
}
|
|
13
9
|
if (/^[0-9]+$/.test(commit)) {
|
|
14
|
-
// Timestamps must always be combined with a branch name;
|
|
15
|
-
// Git hashes consisting of only digits are very very unlikely.
|
|
16
10
|
return false;
|
|
17
11
|
}
|
|
18
12
|
if (/^[a-zA-Z0-9]{7,40}$/.test(commit)) {
|
|
19
|
-
// A Git commit hash
|
|
20
13
|
return true;
|
|
21
14
|
}
|
|
22
15
|
}
|
package/lib/Validation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Validation.js","sourceRoot":"","sources":["../src/Validation.ts"],"names":[],"mappings":";;AAGA,8CAoBC;
|
|
1
|
+
{"version":3,"file":"Validation.js","sourceRoot":"","sources":["../src/Validation.ts"],"names":[],"mappings":";;AAGA,8CAoBC;AApBD,SAAgB,iBAAiB,CAAC,MAAgB;IACjD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAChC,IAAI,qCAAqC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAExD,OAAO,IAAI,CAAC;QACb,CAAC;QAED,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAG7B,OAAO,KAAK,CAAC;QACd,CAAC;QAED,IAAI,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAExC,OAAO,IAAI,CAAA;QACZ,CAAC;IACF,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC"}
|
package/lib/index.d.ts
CHANGED
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -14,7 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
/** Exports of this Node package / module */
|
|
18
17
|
__exportStar(require("./Contract"), exports);
|
|
19
18
|
__exportStar(require("./Exceptions"), exports);
|
|
20
19
|
__exportStar(require("./Strings"), exports);
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,6CAA2B;AAC3B,+CAA6B;AAC7B,4CAA0B;AAC1B,iDAA+B;AAC/B,yDAAuC;AACvC,oDAAkC;AAClC,+CAA6B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cqse/commons",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.7",
|
|
4
4
|
"description": "A collection of generic functionality for TypeScript projects.",
|
|
5
5
|
"author": "CQSE GmbH",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -16,6 +16,6 @@
|
|
|
16
16
|
"scripts": {
|
|
17
17
|
"build": "tsc",
|
|
18
18
|
"clean": "rimraf lib tsconfig.tsbuildinfo",
|
|
19
|
-
"test": "
|
|
19
|
+
"test": "node --import tsx --test test/**/*.test.ts"
|
|
20
20
|
}
|
|
21
21
|
}
|