UNPKG

3.19 kBTypeScriptView Raw
1import { ConfigParams } from 'pip-services3-commons-node';
2import { FileConfigReader } from './FileConfigReader';
3/**
4 * Config reader that reads configuration from YAML file.
5 *
6 * The reader supports parameterization using [[https://handlebarsjs.com Handlebars]] template engine.
7 *
8 * ### Configuration parameters ###
9 *
10 * - path: path to configuration file
11 * - parameters: this entire section is used as template parameters
12 * - ...
13 *
14 * @see [[IConfigReader]]
15 * @see [[FileConfigReader]]
16 *
17 * ### Example ###
18 *
19 * ======== config.yml ======
20 * key1: "{{KEY1_VALUE}}"
21 * key2: "{{KEY2_VALUE}}"
22 * ===========================
23 *
24 * let configReader = new YamlConfigReader("config.yml");
25 *
26 * let parameters = ConfigParams.fromTuples("KEY1_VALUE", 123, "KEY2_VALUE", "ABC");
27 * configReader.readConfig("123", parameters, (err, config) => {
28 * // Result: key1=123;key2=ABC
29 * });
30 */
31export declare class YamlConfigReader extends FileConfigReader {
32 /**
33 * Creates a new instance of the config reader.
34 *
35 * @param path (optional) a path to configuration file.
36 */
37 constructor(path?: string);
38 /**
39 * Reads configuration file, parameterizes its content and converts it into JSON object.
40 *
41 * @param correlationId (optional) transaction id to trace execution through call chain.
42 * @param parameters values to parameters the configuration.
43 * @returns a JSON object with configuration.
44 */
45 readObject(correlationId: string, parameters: ConfigParams): any;
46 /**
47 * Reads configuration and parameterize it with given values.
48 *
49 * @param correlationId (optional) transaction id to trace execution through call chain.
50 * @param parameters values to parameters the configuration or null to skip parameterization.
51 * @param callback callback function that receives configuration or error.
52 */
53 readConfig(correlationId: string, parameters: ConfigParams, callback: (err: any, config: ConfigParams) => void): void;
54 /**
55 * Reads configuration file, parameterizes its content and converts it into JSON object.
56 *
57 * @param correlationId (optional) transaction id to trace execution through call chain.
58 * @param file a path to configuration file.
59 * @param parameters values to parameters the configuration.
60 * @returns a JSON object with configuration.
61 */
62 static readObject(correlationId: string, path: string, parameters: ConfigParams): any;
63 /**
64 * Reads configuration from a file, parameterize it with given values and returns a new ConfigParams object.
65 *
66 * @param correlationId (optional) transaction id to trace execution through call chain.
67 * @param file a path to configuration file.
68 * @param parameters values to parameters the configuration or null to skip parameterization.
69 * @param callback callback function that receives configuration or error.
70 */
71 static readConfig(correlationId: string, path: string, parameters: ConfigParams): ConfigParams;
72}