/** * Created by Phan Trung Nguyên. * User: nguyenpl117 * Date: 3/9/2020 * Time: 10:18 PM */ import { Repository as ConfigContract } from '../Contracts/Config/Repository'; /** * Config module eases the process of using configuration inside your AdonisJs * applications. * * The config files are stored inside a seperate directory, which are loaded and cached * on application boot. Later you can access the values using the `dot` syntax. * * ## Access values * * 1. **Given the config file is stored as `config/app.js` with following content** * * ```js * module.exports = { * appKey: '' * } * ``` * * 2. **You access the appKey as follows** * * ```js * Config.get('app.appKey') * ``` * * **NOTE:** * The `get` method doesn't raise runtime exceptions when top level objects are missing. */ export declare class Repository implements ConfigContract { private config; constructor(config?: any); /** * Read value from the pre-loaded config. Make use of the `dot notation` * syntax to read nested values. * * The `defaultValue` is returned when original value is `undefined`. * * @example * ```js * Config.get('database.mysql') * ``` */ get(key: string, defaultValue?: any): any; /** * Fetch and merge an object to the existing config. This method is useful * when you are fetching an object from the config and want to merge * it with some default values. * * An optional customizer can be passed to customize the merge operation. * The function is directly passed to [lodash.mergeWith](https://lodash.com/docs/4.17.10#mergeWith) * method. * * @example * ```js * // Config inside the file will be merged with the given object * * Config.merge('database.mysql', { * host: '127.0.0.1', * port: 3306 * }) * ``` */ merge(key: string, defaultValues: object, customizer?: Function): any; /** * Defaults allows providers to define the default config for a * module, which is merged with the user config */ defaults(key: string, value: any): void; /** * Update in memory value of the pre-loaded config * * @example * ```js * Config.set('database.host', '127.0.0.1') * ``` */ set(key: string, value: any): void; }