@decaf-ts/utils 0.3.7 → 0.3.8

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.
@@ -1,70 +0,0 @@
1
- import { EnvironmentFactory } from "./types";
2
- import { ObjectAccumulator } from "typed-object-accumulator";
3
- /**
4
- * @class Environment
5
- * @extends {ObjectAccumulator<T>}
6
- * @template T
7
- * @description A class representing an environment with accumulation capabilities.
8
- * @summary Manages environment-related data and provides methods for accumulation and key retrieval.
9
- * @param {T} [initialData] - The initial data to populate the environment with.
10
- */
11
- export declare class Environment<T extends object> extends ObjectAccumulator<T> {
12
- /**
13
- * @static
14
- * @protected
15
- * @description A factory function for creating Environment instances.
16
- * @summary Defines how new instances of the Environment class should be created.
17
- * @return {Environment<any>} A new instance of the Environment class.
18
- */
19
- protected static factory: EnvironmentFactory<any, any>;
20
- /**
21
- * @static
22
- * @private
23
- * @description The singleton instance of the Environment class.
24
- * @type {Environment<any>}
25
- */
26
- private static _instance;
27
- protected constructor();
28
- /**
29
- * @description Retrieves a value from the environment
30
- * @summary Gets a value from the environment variables, handling browser and Node.js environments differently
31
- * @param {string} k - The key to retrieve from the environment
32
- * @return {unknown} The value from the environment, or undefined if not found
33
- */
34
- protected fromEnv(k: string): unknown;
35
- /**
36
- * @description Expands an object into the environment
37
- * @summary Defines properties on the environment object that can be accessed as getters and setters
38
- * @template V - Type of the object being expanded
39
- * @param {V} value - The object to expand into the environment
40
- * @return {void}
41
- */
42
- protected expand<V extends object>(value: V): void;
43
- /**
44
- * @protected
45
- * @static
46
- * @description Retrieves or creates the singleton instance of the Environment class.
47
- * @summary Ensures only one instance of the Environment class exists.
48
- * @template E
49
- * @param {...unknown[]} args - Arguments to pass to the factory function if a new instance is created.
50
- * @return {E} The singleton instance of the Environment class.
51
- */
52
- protected static instance<E extends Environment<any>>(...args: unknown[]): E;
53
- /**
54
- * @static
55
- * @description Accumulates the given value into the environment.
56
- * @summary Adds new properties to the environment from the provided object.
57
- * @template V
58
- * @param {V} value - The object to accumulate into the environment.
59
- * @return {V} The updated environment instance.
60
- */
61
- static accumulate<V extends object>(value: V): typeof Environment._instance & V & ObjectAccumulator<typeof Environment._instance & V>;
62
- /**
63
- * @static
64
- * @description Retrieves the keys of the environment, optionally converting them to ENV format.
65
- * @summary Gets all keys in the environment, with an option to format them for environment variables.
66
- * @param {boolean} [toEnv=true] - Whether to convert the keys to ENV format.
67
- * @return {string[]} An array of keys from the environment.
68
- */
69
- static keys(toEnv?: boolean): string[];
70
- }
@@ -1,178 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.padEnd = padEnd;
4
- exports.patchPlaceholders = patchPlaceholders;
5
- exports.patchString = patchString;
6
- exports.toCamelCase = toCamelCase;
7
- exports.toENVFormat = toENVFormat;
8
- exports.toSnakeCase = toSnakeCase;
9
- exports.toKebabCase = toKebabCase;
10
- exports.toPascalCase = toPascalCase;
11
- exports.escapeRegExp = escapeRegExp;
12
- /**
13
- * @description Pads the end of a string with a specified character.
14
- * @summary Extends the input string to a specified length by adding a padding character to the end.
15
- * If the input string is already longer than the specified length, it is returned unchanged.
16
- *
17
- * @param {string} str - The input string to be padded.
18
- * @param {number} length - The desired total length of the resulting string.
19
- * @param {string} [char=" "] - The character to use for padding. Defaults to a space.
20
- * @return {string} The padded string.
21
- * @throws {Error} If the padding character is not exactly one character long.
22
- *
23
- * @function padEnd
24
- *
25
- * @memberOf module:utils
26
- */
27
- function padEnd(str, length, char = " ") {
28
- if (char.length !== 1)
29
- throw new Error("Invalid character length for padding. must be one!");
30
- return str.padEnd(length, char);
31
- }
32
- /**
33
- * @description Replaces placeholders in a string with provided values.
34
- * @summary Interpolates a string by replacing placeholders of the form ${variableName}
35
- * with corresponding values from the provided object. If a placeholder doesn't have
36
- * a corresponding value, it is left unchanged in the string.
37
- *
38
- * @param {string} input - The input string containing placeholders to be replaced.
39
- * @param {Record<string, number | string>} values - An object containing key-value pairs for replacement.
40
- * @return {string} The interpolated string with placeholders replaced by their corresponding values.
41
- *
42
- * @function patchPlaceholders
43
- *
44
- * @mermaid
45
- * sequenceDiagram
46
- * participant Caller
47
- * participant patchString
48
- * participant String.replace
49
- * Caller->>patchString: Call with input and values
50
- * patchString->>String.replace: Call with regex and replacement function
51
- * String.replace->>patchString: Return replaced string
52
- * patchString-->>Caller: Return patched string
53
- *
54
- * @memberOf module:utils
55
- */
56
- function patchPlaceholders(input, values) {
57
- return input.replace(/\$\{([a-zA-Z0-9_]+)\}/g, (match, variable) => values[variable] || match);
58
- }
59
- /**
60
- * @description Replaces occurrences of keys with their corresponding values in a string.
61
- * @summary Iterates through a set of key-value pairs and replaces all occurrences of each key
62
- * in the input string with its corresponding value. Supports regular expression flags for customized replacement.
63
- *
64
- * @param {string} input - The input string in which replacements will be made.
65
- * @param {Record<string, number | string>} values - An object containing key-value pairs for replacement.
66
- * @param {string} [flags="g"] - Regular expression flags to control the replacement behavior.
67
- * @return {string} The string with all specified replacements applied.
68
- *
69
- * @function patchString
70
- *
71
- * @memberOf module:utils
72
- */
73
- function patchString(input, values, flags = "g") {
74
- Object.entries(values).forEach(([key, val]) => {
75
- const regexp = new RegExp(escapeRegExp(key), flags);
76
- input = input.replace(regexp, val);
77
- });
78
- return input;
79
- }
80
- /**
81
- * @description Converts a string to camelCase.
82
- * @summary Transforms the input string into camelCase format, where words are joined without spaces
83
- * and each word after the first starts with a capital letter.
84
- *
85
- * @param {string} text - The input string to be converted.
86
- * @return {string} The input string converted to camelCase.
87
- *
88
- * @function toCamelCase
89
- *
90
- * @memberOf module:utils
91
- */
92
- function toCamelCase(text) {
93
- return text
94
- .replace(/(?:^\w|[A-Z]|\b\w)/g, (word, index) => index === 0 ? word.toLowerCase() : word.toUpperCase())
95
- .replace(/\s+/g, "");
96
- }
97
- /**
98
- * @description Converts a string to ENVIRONMENT_VARIABLE format.
99
- * @summary Transforms the input string into uppercase with words separated by underscores,
100
- * typically used for environment variable names.
101
- *
102
- * @param {string} text - The input string to be converted.
103
- * @return {string} The input string converted to ENVIRONMENT_VARIABLE format.
104
- *
105
- * @function toENVFormat
106
- *
107
- * @memberOf module:utils
108
- */
109
- function toENVFormat(text) {
110
- return toSnakeCase(text).toUpperCase();
111
- }
112
- /**
113
- * @description Converts a string to snake_case.
114
- * @summary Transforms the input string into lowercase with words separated by underscores.
115
- *
116
- * @param {string} text - The input string to be converted.
117
- * @return {string} The input string converted to snake_case.
118
- *
119
- * @function toSnakeCase
120
- *
121
- * @memberOf module:utils
122
- */
123
- function toSnakeCase(text) {
124
- return text
125
- .replace(/([a-z])([A-Z])/g, "$1_$2")
126
- .replace(/[\s-]+/g, "_")
127
- .toLowerCase();
128
- }
129
- /**
130
- * @description Converts a string to kebab-case.
131
- * @summary Transforms the input string into lowercase with words separated by hyphens.
132
- *
133
- * @param {string} text - The input string to be converted.
134
- * @return {string} The input string converted to kebab-case.
135
- *
136
- * @function toKebabCase
137
- *
138
- * @memberOf module:utils
139
- */
140
- function toKebabCase(text) {
141
- return text
142
- .replace(/([a-z])([A-Z])/g, "$1-$2")
143
- .replace(/[\s_]+/g, "-")
144
- .toLowerCase();
145
- }
146
- /**
147
- * @description Converts a string to PascalCase.
148
- * @summary Transforms the input string into PascalCase format, where words are joined without spaces
149
- * and each word starts with a capital letter.
150
- *
151
- * @param {string} text - The input string to be converted.
152
- * @return {string} The input string converted to PascalCase.
153
- *
154
- * @function toPascalCase
155
- *
156
- * @memberOf module:utils
157
- */
158
- function toPascalCase(text) {
159
- return text
160
- .replace(/(?:^\w|[A-Z]|\b\w)/g, (word) => word.toUpperCase())
161
- .replace(/\s+/g, "");
162
- }
163
- /**
164
- * @description Escapes special characters in a string for use in a regular expression.
165
- * @summary Adds backslashes before characters that have special meaning in regular expressions,
166
- * allowing the string to be used as a literal match in a RegExp.
167
- *
168
- * @param {string} string - The string to escape for regular expression use.
169
- * @return {string} The escaped string safe for use in regular expressions.
170
- *
171
- * @function escapeRegExp
172
- *
173
- * @memberOf module:utils
174
- */
175
- function escapeRegExp(string) {
176
- return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
177
- }
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy90ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBZUEsd0JBUUM7QUEwQkQsOENBUUM7QUFnQkQsa0NBVUM7QUFjRCxrQ0FNQztBQWNELGtDQUVDO0FBYUQsa0NBS0M7QUFhRCxrQ0FLQztBQWNELG9DQUlDO0FBY0Qsb0NBRUM7QUE3TEQ7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxTQUFnQixNQUFNLENBQ3BCLEdBQVcsRUFDWCxNQUFjLEVBQ2QsT0FBZSxHQUFHO0lBRWxCLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDO1FBQ25CLE1BQU0sSUFBSSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQztJQUN4RSxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ2xDLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Qkc7QUFDSCxTQUFnQixpQkFBaUIsQ0FDL0IsS0FBYSxFQUNiLE1BQXVDO0lBRXZDLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FDbEIsd0JBQXdCLEVBQ3hCLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUUsTUFBTSxDQUFDLFFBQWtCLENBQVksSUFBSSxLQUFLLENBQ3JFLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILFNBQWdCLFdBQVcsQ0FDekIsS0FBYSxFQUNiLE1BQXVDLEVBQ3ZDLFFBQWdCLEdBQUc7SUFFbkIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFO1FBQzVDLE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNwRCxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBYSxDQUFDLENBQUM7SUFDL0MsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILFNBQWdCLFdBQVcsQ0FBQyxJQUFZO0lBQ3RDLE9BQU8sSUFBSTtTQUNSLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUM5QyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FDdEQ7U0FDQSxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ3pCLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILFNBQWdCLFdBQVcsQ0FBQyxJQUFZO0lBQ3RDLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0FBQ3pDLENBQUM7QUFFRDs7Ozs7Ozs7OztHQVVHO0FBQ0gsU0FBZ0IsV0FBVyxDQUFDLElBQVk7SUFDdEMsT0FBTyxJQUFJO1NBQ1IsT0FBTyxDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQztTQUNuQyxPQUFPLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQztTQUN2QixXQUFXLEVBQUUsQ0FBQztBQUNuQixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNILFNBQWdCLFdBQVcsQ0FBQyxJQUFZO0lBQ3RDLE9BQU8sSUFBSTtTQUNSLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLENBQUM7U0FDbkMsT0FBTyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUM7U0FDdkIsV0FBVyxFQUFFLENBQUM7QUFDbkIsQ0FBQztBQUVEOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsU0FBZ0IsWUFBWSxDQUFDLElBQVk7SUFDdkMsT0FBTyxJQUFJO1NBQ1IsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDNUQsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztBQUN6QixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxTQUFnQixZQUFZLENBQUMsTUFBYztJQUN6QyxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMscUJBQXFCLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxvQ0FBb0M7QUFDNUYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGRlc2NyaXB0aW9uIFBhZHMgdGhlIGVuZCBvZiBhIHN0cmluZyB3aXRoIGEgc3BlY2lmaWVkIGNoYXJhY3Rlci5cbiAqIEBzdW1tYXJ5IEV4dGVuZHMgdGhlIGlucHV0IHN0cmluZyB0byBhIHNwZWNpZmllZCBsZW5ndGggYnkgYWRkaW5nIGEgcGFkZGluZyBjaGFyYWN0ZXIgdG8gdGhlIGVuZC5cbiAqIElmIHRoZSBpbnB1dCBzdHJpbmcgaXMgYWxyZWFkeSBsb25nZXIgdGhhbiB0aGUgc3BlY2lmaWVkIGxlbmd0aCwgaXQgaXMgcmV0dXJuZWQgdW5jaGFuZ2VkLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBzdHIgLSBUaGUgaW5wdXQgc3RyaW5nIHRvIGJlIHBhZGRlZC5cbiAqIEBwYXJhbSB7bnVtYmVyfSBsZW5ndGggLSBUaGUgZGVzaXJlZCB0b3RhbCBsZW5ndGggb2YgdGhlIHJlc3VsdGluZyBzdHJpbmcuXG4gKiBAcGFyYW0ge3N0cmluZ30gW2NoYXI9XCIgXCJdIC0gVGhlIGNoYXJhY3RlciB0byB1c2UgZm9yIHBhZGRpbmcuIERlZmF1bHRzIHRvIGEgc3BhY2UuXG4gKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBwYWRkZWQgc3RyaW5nLlxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBwYWRkaW5nIGNoYXJhY3RlciBpcyBub3QgZXhhY3RseSBvbmUgY2hhcmFjdGVyIGxvbmcuXG4gKlxuICogQGZ1bmN0aW9uIHBhZEVuZFxuICpcbiAqIEBtZW1iZXJPZiBtb2R1bGU6dXRpbHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhZEVuZChcbiAgc3RyOiBzdHJpbmcsXG4gIGxlbmd0aDogbnVtYmVyLFxuICBjaGFyOiBzdHJpbmcgPSBcIiBcIlxuKTogc3RyaW5nIHtcbiAgaWYgKGNoYXIubGVuZ3RoICE9PSAxKVxuICAgIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgY2hhcmFjdGVyIGxlbmd0aCBmb3IgcGFkZGluZy4gbXVzdCBiZSBvbmUhXCIpO1xuICByZXR1cm4gc3RyLnBhZEVuZChsZW5ndGgsIGNoYXIpO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBSZXBsYWNlcyBwbGFjZWhvbGRlcnMgaW4gYSBzdHJpbmcgd2l0aCBwcm92aWRlZCB2YWx1ZXMuXG4gKiBAc3VtbWFyeSBJbnRlcnBvbGF0ZXMgYSBzdHJpbmcgYnkgcmVwbGFjaW5nIHBsYWNlaG9sZGVycyBvZiB0aGUgZm9ybSAke3ZhcmlhYmxlTmFtZX1cbiAqIHdpdGggY29ycmVzcG9uZGluZyB2YWx1ZXMgZnJvbSB0aGUgcHJvdmlkZWQgb2JqZWN0LiBJZiBhIHBsYWNlaG9sZGVyIGRvZXNuJ3QgaGF2ZVxuICogYSBjb3JyZXNwb25kaW5nIHZhbHVlLCBpdCBpcyBsZWZ0IHVuY2hhbmdlZCBpbiB0aGUgc3RyaW5nLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBpbnB1dCAtIFRoZSBpbnB1dCBzdHJpbmcgY29udGFpbmluZyBwbGFjZWhvbGRlcnMgdG8gYmUgcmVwbGFjZWQuXG4gKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIG51bWJlciB8IHN0cmluZz59IHZhbHVlcyAtIEFuIG9iamVjdCBjb250YWluaW5nIGtleS12YWx1ZSBwYWlycyBmb3IgcmVwbGFjZW1lbnQuXG4gKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBpbnRlcnBvbGF0ZWQgc3RyaW5nIHdpdGggcGxhY2Vob2xkZXJzIHJlcGxhY2VkIGJ5IHRoZWlyIGNvcnJlc3BvbmRpbmcgdmFsdWVzLlxuICpcbiAqIEBmdW5jdGlvbiBwYXRjaFBsYWNlaG9sZGVyc1xuICpcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgcGFydGljaXBhbnQgQ2FsbGVyXG4gKiAgIHBhcnRpY2lwYW50IHBhdGNoU3RyaW5nXG4gKiAgIHBhcnRpY2lwYW50IFN0cmluZy5yZXBsYWNlXG4gKiAgIENhbGxlci0+PnBhdGNoU3RyaW5nOiBDYWxsIHdpdGggaW5wdXQgYW5kIHZhbHVlc1xuICogICBwYXRjaFN0cmluZy0+PlN0cmluZy5yZXBsYWNlOiBDYWxsIHdpdGggcmVnZXggYW5kIHJlcGxhY2VtZW50IGZ1bmN0aW9uXG4gKiAgIFN0cmluZy5yZXBsYWNlLT4+cGF0Y2hTdHJpbmc6IFJldHVybiByZXBsYWNlZCBzdHJpbmdcbiAqICAgcGF0Y2hTdHJpbmctLT4+Q2FsbGVyOiBSZXR1cm4gcGF0Y2hlZCBzdHJpbmdcbiAqXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnV0aWxzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXRjaFBsYWNlaG9sZGVycyhcbiAgaW5wdXQ6IHN0cmluZyxcbiAgdmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXIgfCBzdHJpbmc+XG4pOiBzdHJpbmcge1xuICByZXR1cm4gaW5wdXQucmVwbGFjZShcbiAgICAvXFwkXFx7KFthLXpBLVowLTlfXSspXFx9L2csXG4gICAgKG1hdGNoLCB2YXJpYWJsZSkgPT4gKHZhbHVlc1t2YXJpYWJsZSBhcyBzdHJpbmddIGFzIHN0cmluZykgfHwgbWF0Y2hcbiAgKTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gUmVwbGFjZXMgb2NjdXJyZW5jZXMgb2Yga2V5cyB3aXRoIHRoZWlyIGNvcnJlc3BvbmRpbmcgdmFsdWVzIGluIGEgc3RyaW5nLlxuICogQHN1bW1hcnkgSXRlcmF0ZXMgdGhyb3VnaCBhIHNldCBvZiBrZXktdmFsdWUgcGFpcnMgYW5kIHJlcGxhY2VzIGFsbCBvY2N1cnJlbmNlcyBvZiBlYWNoIGtleVxuICogaW4gdGhlIGlucHV0IHN0cmluZyB3aXRoIGl0cyBjb3JyZXNwb25kaW5nIHZhbHVlLiBTdXBwb3J0cyByZWd1bGFyIGV4cHJlc3Npb24gZmxhZ3MgZm9yIGN1c3RvbWl6ZWQgcmVwbGFjZW1lbnQuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGlucHV0IC0gVGhlIGlucHV0IHN0cmluZyBpbiB3aGljaCByZXBsYWNlbWVudHMgd2lsbCBiZSBtYWRlLlxuICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBudW1iZXIgfCBzdHJpbmc+fSB2YWx1ZXMgLSBBbiBvYmplY3QgY29udGFpbmluZyBrZXktdmFsdWUgcGFpcnMgZm9yIHJlcGxhY2VtZW50LlxuICogQHBhcmFtIHtzdHJpbmd9IFtmbGFncz1cImdcIl0gLSBSZWd1bGFyIGV4cHJlc3Npb24gZmxhZ3MgdG8gY29udHJvbCB0aGUgcmVwbGFjZW1lbnQgYmVoYXZpb3IuXG4gKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBzdHJpbmcgd2l0aCBhbGwgc3BlY2lmaWVkIHJlcGxhY2VtZW50cyBhcHBsaWVkLlxuICpcbiAqIEBmdW5jdGlvbiBwYXRjaFN0cmluZ1xuICpcbiAqIEBtZW1iZXJPZiBtb2R1bGU6dXRpbHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhdGNoU3RyaW5nKFxuICBpbnB1dDogc3RyaW5nLFxuICB2YWx1ZXM6IFJlY29yZDxzdHJpbmcsIG51bWJlciB8IHN0cmluZz4sXG4gIGZsYWdzOiBzdHJpbmcgPSBcImdcIlxuKTogc3RyaW5nIHtcbiAgT2JqZWN0LmVudHJpZXModmFsdWVzKS5mb3JFYWNoKChba2V5LCB2YWxdKSA9PiB7XG4gICAgY29uc3QgcmVnZXhwID0gbmV3IFJlZ0V4cChlc2NhcGVSZWdFeHAoa2V5KSwgZmxhZ3MpO1xuICAgIGlucHV0ID0gaW5wdXQucmVwbGFjZShyZWdleHAsIHZhbCBhcyBzdHJpbmcpO1xuICB9KTtcbiAgcmV0dXJuIGlucHV0O1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDb252ZXJ0cyBhIHN0cmluZyB0byBjYW1lbENhc2UuXG4gKiBAc3VtbWFyeSBUcmFuc2Zvcm1zIHRoZSBpbnB1dCBzdHJpbmcgaW50byBjYW1lbENhc2UgZm9ybWF0LCB3aGVyZSB3b3JkcyBhcmUgam9pbmVkIHdpdGhvdXQgc3BhY2VzXG4gKiBhbmQgZWFjaCB3b3JkIGFmdGVyIHRoZSBmaXJzdCBzdGFydHMgd2l0aCBhIGNhcGl0YWwgbGV0dGVyLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IC0gVGhlIGlucHV0IHN0cmluZyB0byBiZSBjb252ZXJ0ZWQuXG4gKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBpbnB1dCBzdHJpbmcgY29udmVydGVkIHRvIGNhbWVsQ2FzZS5cbiAqXG4gKiBAZnVuY3Rpb24gdG9DYW1lbENhc2VcbiAqXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnV0aWxzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0NhbWVsQ2FzZSh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gdGV4dFxuICAgIC5yZXBsYWNlKC8oPzpeXFx3fFtBLVpdfFxcYlxcdykvZywgKHdvcmQsIGluZGV4KSA9PlxuICAgICAgaW5kZXggPT09IDAgPyB3b3JkLnRvTG93ZXJDYXNlKCkgOiB3b3JkLnRvVXBwZXJDYXNlKClcbiAgICApXG4gICAgLnJlcGxhY2UoL1xccysvZywgXCJcIik7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbnZlcnRzIGEgc3RyaW5nIHRvIEVOVklST05NRU5UX1ZBUklBQkxFIGZvcm1hdC5cbiAqIEBzdW1tYXJ5IFRyYW5zZm9ybXMgdGhlIGlucHV0IHN0cmluZyBpbnRvIHVwcGVyY2FzZSB3aXRoIHdvcmRzIHNlcGFyYXRlZCBieSB1bmRlcnNjb3JlcyxcbiAqIHR5cGljYWxseSB1c2VkIGZvciBlbnZpcm9ubWVudCB2YXJpYWJsZSBuYW1lcy5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gdGV4dCAtIFRoZSBpbnB1dCBzdHJpbmcgdG8gYmUgY29udmVydGVkLlxuICogQHJldHVybiB7c3RyaW5nfSBUaGUgaW5wdXQgc3RyaW5nIGNvbnZlcnRlZCB0byBFTlZJUk9OTUVOVF9WQVJJQUJMRSBmb3JtYXQuXG4gKlxuICogQGZ1bmN0aW9uIHRvRU5WRm9ybWF0XG4gKlxuICogQG1lbWJlck9mIG1vZHVsZTp1dGlsc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdG9FTlZGb3JtYXQodGV4dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHRvU25ha2VDYXNlKHRleHQpLnRvVXBwZXJDYXNlKCk7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbnZlcnRzIGEgc3RyaW5nIHRvIHNuYWtlX2Nhc2UuXG4gKiBAc3VtbWFyeSBUcmFuc2Zvcm1zIHRoZSBpbnB1dCBzdHJpbmcgaW50byBsb3dlcmNhc2Ugd2l0aCB3b3JkcyBzZXBhcmF0ZWQgYnkgdW5kZXJzY29yZXMuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRleHQgLSBUaGUgaW5wdXQgc3RyaW5nIHRvIGJlIGNvbnZlcnRlZC5cbiAqIEByZXR1cm4ge3N0cmluZ30gVGhlIGlucHV0IHN0cmluZyBjb252ZXJ0ZWQgdG8gc25ha2VfY2FzZS5cbiAqXG4gKiBAZnVuY3Rpb24gdG9TbmFrZUNhc2VcbiAqXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnV0aWxzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b1NuYWtlQ2FzZSh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gdGV4dFxuICAgIC5yZXBsYWNlKC8oW2Etel0pKFtBLVpdKS9nLCBcIiQxXyQyXCIpXG4gICAgLnJlcGxhY2UoL1tcXHMtXSsvZywgXCJfXCIpXG4gICAgLnRvTG93ZXJDYXNlKCk7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbnZlcnRzIGEgc3RyaW5nIHRvIGtlYmFiLWNhc2UuXG4gKiBAc3VtbWFyeSBUcmFuc2Zvcm1zIHRoZSBpbnB1dCBzdHJpbmcgaW50byBsb3dlcmNhc2Ugd2l0aCB3b3JkcyBzZXBhcmF0ZWQgYnkgaHlwaGVucy5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gdGV4dCAtIFRoZSBpbnB1dCBzdHJpbmcgdG8gYmUgY29udmVydGVkLlxuICogQHJldHVybiB7c3RyaW5nfSBUaGUgaW5wdXQgc3RyaW5nIGNvbnZlcnRlZCB0byBrZWJhYi1jYXNlLlxuICpcbiAqIEBmdW5jdGlvbiB0b0tlYmFiQ2FzZVxuICpcbiAqIEBtZW1iZXJPZiBtb2R1bGU6dXRpbHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvS2ViYWJDYXNlKHRleHQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiB0ZXh0XG4gICAgLnJlcGxhY2UoLyhbYS16XSkoW0EtWl0pL2csIFwiJDEtJDJcIilcbiAgICAucmVwbGFjZSgvW1xcc19dKy9nLCBcIi1cIilcbiAgICAudG9Mb3dlckNhc2UoKTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ29udmVydHMgYSBzdHJpbmcgdG8gUGFzY2FsQ2FzZS5cbiAqIEBzdW1tYXJ5IFRyYW5zZm9ybXMgdGhlIGlucHV0IHN0cmluZyBpbnRvIFBhc2NhbENhc2UgZm9ybWF0LCB3aGVyZSB3b3JkcyBhcmUgam9pbmVkIHdpdGhvdXQgc3BhY2VzXG4gKiBhbmQgZWFjaCB3b3JkIHN0YXJ0cyB3aXRoIGEgY2FwaXRhbCBsZXR0ZXIuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRleHQgLSBUaGUgaW5wdXQgc3RyaW5nIHRvIGJlIGNvbnZlcnRlZC5cbiAqIEByZXR1cm4ge3N0cmluZ30gVGhlIGlucHV0IHN0cmluZyBjb252ZXJ0ZWQgdG8gUGFzY2FsQ2FzZS5cbiAqXG4gKiBAZnVuY3Rpb24gdG9QYXNjYWxDYXNlXG4gKlxuICogQG1lbWJlck9mIG1vZHVsZTp1dGlsc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdG9QYXNjYWxDYXNlKHRleHQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiB0ZXh0XG4gICAgLnJlcGxhY2UoLyg/Ol5cXHd8W0EtWl18XFxiXFx3KS9nLCAod29yZCkgPT4gd29yZC50b1VwcGVyQ2FzZSgpKVxuICAgIC5yZXBsYWNlKC9cXHMrL2csIFwiXCIpO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBFc2NhcGVzIHNwZWNpYWwgY2hhcmFjdGVycyBpbiBhIHN0cmluZyBmb3IgdXNlIGluIGEgcmVndWxhciBleHByZXNzaW9uLlxuICogQHN1bW1hcnkgQWRkcyBiYWNrc2xhc2hlcyBiZWZvcmUgY2hhcmFjdGVycyB0aGF0IGhhdmUgc3BlY2lhbCBtZWFuaW5nIGluIHJlZ3VsYXIgZXhwcmVzc2lvbnMsXG4gKiBhbGxvd2luZyB0aGUgc3RyaW5nIHRvIGJlIHVzZWQgYXMgYSBsaXRlcmFsIG1hdGNoIGluIGEgUmVnRXhwLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBzdHJpbmcgLSBUaGUgc3RyaW5nIHRvIGVzY2FwZSBmb3IgcmVndWxhciBleHByZXNzaW9uIHVzZS5cbiAqIEByZXR1cm4ge3N0cmluZ30gVGhlIGVzY2FwZWQgc3RyaW5nIHNhZmUgZm9yIHVzZSBpbiByZWd1bGFyIGV4cHJlc3Npb25zLlxuICpcbiAqIEBmdW5jdGlvbiBlc2NhcGVSZWdFeHBcbiAqXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnV0aWxzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlc2NhcGVSZWdFeHAoc3RyaW5nOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHN0cmluZy5yZXBsYWNlKC9bLiorP14ke30oKXxbXFxdXFxcXF0vZywgXCJcXFxcJCZcIik7IC8vICQmIG1lYW5zIHRoZSB3aG9sZSBtYXRjaGVkIHN0cmluZ1xufVxuIl19
@@ -1,132 +0,0 @@
1
- /**
2
- * @description Pads the end of a string with a specified character.
3
- * @summary Extends the input string to a specified length by adding a padding character to the end.
4
- * If the input string is already longer than the specified length, it is returned unchanged.
5
- *
6
- * @param {string} str - The input string to be padded.
7
- * @param {number} length - The desired total length of the resulting string.
8
- * @param {string} [char=" "] - The character to use for padding. Defaults to a space.
9
- * @return {string} The padded string.
10
- * @throws {Error} If the padding character is not exactly one character long.
11
- *
12
- * @function padEnd
13
- *
14
- * @memberOf module:utils
15
- */
16
- export declare function padEnd(str: string, length: number, char?: string): string;
17
- /**
18
- * @description Replaces placeholders in a string with provided values.
19
- * @summary Interpolates a string by replacing placeholders of the form ${variableName}
20
- * with corresponding values from the provided object. If a placeholder doesn't have
21
- * a corresponding value, it is left unchanged in the string.
22
- *
23
- * @param {string} input - The input string containing placeholders to be replaced.
24
- * @param {Record<string, number | string>} values - An object containing key-value pairs for replacement.
25
- * @return {string} The interpolated string with placeholders replaced by their corresponding values.
26
- *
27
- * @function patchPlaceholders
28
- *
29
- * @mermaid
30
- * sequenceDiagram
31
- * participant Caller
32
- * participant patchString
33
- * participant String.replace
34
- * Caller->>patchString: Call with input and values
35
- * patchString->>String.replace: Call with regex and replacement function
36
- * String.replace->>patchString: Return replaced string
37
- * patchString-->>Caller: Return patched string
38
- *
39
- * @memberOf module:utils
40
- */
41
- export declare function patchPlaceholders(input: string, values: Record<string, number | string>): string;
42
- /**
43
- * @description Replaces occurrences of keys with their corresponding values in a string.
44
- * @summary Iterates through a set of key-value pairs and replaces all occurrences of each key
45
- * in the input string with its corresponding value. Supports regular expression flags for customized replacement.
46
- *
47
- * @param {string} input - The input string in which replacements will be made.
48
- * @param {Record<string, number | string>} values - An object containing key-value pairs for replacement.
49
- * @param {string} [flags="g"] - Regular expression flags to control the replacement behavior.
50
- * @return {string} The string with all specified replacements applied.
51
- *
52
- * @function patchString
53
- *
54
- * @memberOf module:utils
55
- */
56
- export declare function patchString(input: string, values: Record<string, number | string>, flags?: string): string;
57
- /**
58
- * @description Converts a string to camelCase.
59
- * @summary Transforms the input string into camelCase format, where words are joined without spaces
60
- * and each word after the first starts with a capital letter.
61
- *
62
- * @param {string} text - The input string to be converted.
63
- * @return {string} The input string converted to camelCase.
64
- *
65
- * @function toCamelCase
66
- *
67
- * @memberOf module:utils
68
- */
69
- export declare function toCamelCase(text: string): string;
70
- /**
71
- * @description Converts a string to ENVIRONMENT_VARIABLE format.
72
- * @summary Transforms the input string into uppercase with words separated by underscores,
73
- * typically used for environment variable names.
74
- *
75
- * @param {string} text - The input string to be converted.
76
- * @return {string} The input string converted to ENVIRONMENT_VARIABLE format.
77
- *
78
- * @function toENVFormat
79
- *
80
- * @memberOf module:utils
81
- */
82
- export declare function toENVFormat(text: string): string;
83
- /**
84
- * @description Converts a string to snake_case.
85
- * @summary Transforms the input string into lowercase with words separated by underscores.
86
- *
87
- * @param {string} text - The input string to be converted.
88
- * @return {string} The input string converted to snake_case.
89
- *
90
- * @function toSnakeCase
91
- *
92
- * @memberOf module:utils
93
- */
94
- export declare function toSnakeCase(text: string): string;
95
- /**
96
- * @description Converts a string to kebab-case.
97
- * @summary Transforms the input string into lowercase with words separated by hyphens.
98
- *
99
- * @param {string} text - The input string to be converted.
100
- * @return {string} The input string converted to kebab-case.
101
- *
102
- * @function toKebabCase
103
- *
104
- * @memberOf module:utils
105
- */
106
- export declare function toKebabCase(text: string): string;
107
- /**
108
- * @description Converts a string to PascalCase.
109
- * @summary Transforms the input string into PascalCase format, where words are joined without spaces
110
- * and each word starts with a capital letter.
111
- *
112
- * @param {string} text - The input string to be converted.
113
- * @return {string} The input string converted to PascalCase.
114
- *
115
- * @function toPascalCase
116
- *
117
- * @memberOf module:utils
118
- */
119
- export declare function toPascalCase(text: string): string;
120
- /**
121
- * @description Escapes special characters in a string for use in a regular expression.
122
- * @summary Adds backslashes before characters that have special meaning in regular expressions,
123
- * allowing the string to be used as a literal match in a RegExp.
124
- *
125
- * @param {string} string - The string to escape for regular expression use.
126
- * @return {string} The escaped string safe for use in regular expressions.
127
- *
128
- * @function escapeRegExp
129
- *
130
- * @memberOf module:utils
131
- */
132
- export declare function escapeRegExp(string: string): string;
package/lib/utils/web.cjs DELETED
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isBrowser = isBrowser;
4
- /**
5
- * @description Determines if the current environment is a browser by checking the prototype chain of the global object.
6
- * @summary Checks if the code is running in a browser environment.
7
- * @return {boolean} True if the environment is a browser, false otherwise.
8
- * @function isBrowser
9
- * @memberOf module:utils
10
- */
11
- function isBrowser() {
12
- return (Object.getPrototypeOf(Object.getPrototypeOf(globalThis)) !==
13
- Object.prototype);
14
- }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3dlYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQU9BLDhCQUtDO0FBWkQ7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IsU0FBUztJQUN2QixPQUFPLENBQ0wsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sQ0FBQyxTQUFTLENBQ2pCLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZGVzY3JpcHRpb24gRGV0ZXJtaW5lcyBpZiB0aGUgY3VycmVudCBlbnZpcm9ubWVudCBpcyBhIGJyb3dzZXIgYnkgY2hlY2tpbmcgdGhlIHByb3RvdHlwZSBjaGFpbiBvZiB0aGUgZ2xvYmFsIG9iamVjdC5cbiAqIEBzdW1tYXJ5IENoZWNrcyBpZiB0aGUgY29kZSBpcyBydW5uaW5nIGluIGEgYnJvd3NlciBlbnZpcm9ubWVudC5cbiAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgdGhlIGVudmlyb25tZW50IGlzIGEgYnJvd3NlciwgZmFsc2Ugb3RoZXJ3aXNlLlxuICogQGZ1bmN0aW9uIGlzQnJvd3NlclxuICogQG1lbWJlck9mIG1vZHVsZTp1dGlsc1xuICovXG5leHBvcnQgZnVuY3Rpb24gaXNCcm93c2VyKCk6IGJvb2xlYW4ge1xuICByZXR1cm4gKFxuICAgIE9iamVjdC5nZXRQcm90b3R5cGVPZihPYmplY3QuZ2V0UHJvdG90eXBlT2YoZ2xvYmFsVGhpcykpICE9PVxuICAgIE9iamVjdC5wcm90b3R5cGVcbiAgKTtcbn1cbiJdfQ==
@@ -1,8 +0,0 @@
1
- /**
2
- * @description Determines if the current environment is a browser by checking the prototype chain of the global object.
3
- * @summary Checks if the code is running in a browser environment.
4
- * @return {boolean} True if the environment is a browser, false otherwise.
5
- * @function isBrowser
6
- * @memberOf module:utils
7
- */
8
- export declare function isBrowser(): boolean;