UNPKG

3.1 kBTypeScriptView Raw
1import { ConfigParams } from 'pip-services3-commons-node';
2import { FileConfigReader } from './FileConfigReader';
3/**
4 * Config reader that reads configuration from JSON file.
5 *
6 * The reader supports parameterization using Handlebar 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.json ======
20 * { "key1": "{{KEY1_VALUE}}", "key2": "{{KEY2_VALUE}}" }
21 * ===========================
22 *
23 * let configReader = new JsonConfigReader("config.json");
24 *
25 * let parameters = ConfigParams.fromTuples("KEY1_VALUE", 123, "KEY2_VALUE", "ABC");
26 * configReader.readConfig("123", parameters, (err, config) => {
27 * // Result: key1=123;key2=ABC
28 * });
29 */
30export declare class JsonConfigReader extends FileConfigReader {
31 /**
32 * Creates a new instance of the config reader.
33 *
34 * @param path (optional) a path to configuration file.
35 */
36 constructor(path?: string);
37 /**
38 * Reads configuration file, parameterizes its content and converts it into JSON object.
39 *
40 * @param correlationId (optional) transaction id to trace execution through call chain.
41 * @param parameters values to parameters the configuration.
42 * @returns a JSON object with configuration.
43 */
44 readObject(correlationId: string, parameters: ConfigParams): any;
45 /**
46 * Reads configuration and parameterize it with given values.
47 *
48 * @param correlationId (optional) transaction id to trace execution through call chain.
49 * @param parameters values to parameters the configuration
50 * @param callback callback function that receives configuration or error.
51 */
52 readConfig(correlationId: string, parameters: ConfigParams, callback: (err: any, config: ConfigParams) => void): void;
53 /**
54 * Reads configuration file, parameterizes its content and converts it into JSON object.
55 *
56 * @param correlationId (optional) transaction id to trace execution through call chain.
57 * @param file a path to configuration file.
58 * @param parameters values to parameters the configuration.
59 * @returns a JSON object with configuration.
60 */
61 static readObject(correlationId: string, path: string, parameters: ConfigParams): any;
62 /**
63 * Reads configuration from a file, parameterize it with given values and returns a new ConfigParams object.
64 *
65 * @param correlationId (optional) transaction id to trace execution through call chain.
66 * @param file a path to configuration file.
67 * @param parameters values to parameters the configuration.
68 * @param callback callback function that receives configuration or error.
69 */
70 static readConfig(correlationId: string, path: string, parameters: ConfigParams): ConfigParams;
71}