Add interface to module "config"

At the moment there is no interface for the config functions
This commit is contained in:
Christian Eikermann
2016-03-04 21:25:03 +01:00
parent 9f0f926a12
commit 8b6a0421e1
2 changed files with 33 additions and 21 deletions

View File

@@ -1,6 +1,8 @@
/// <reference path="config.d.ts" />
import config = require('config');
import * as config from "config";
var class1: config.IConfig = config;
var value1: string = config.get<string>("");
var value2: any = config.get("");

50
config/config.d.ts vendored
View File

@@ -4,31 +4,41 @@
// Definitions: https://github.com/borisyankov/DefinitelyTyped
declare module "config" {
// see https://github.com/lorenwest/node-config/wiki/Using-Config-Utilities
interface IUtil {
// Extend an object (and any object it contains) with one or more objects (and objects contained in them).
extendDeep(mergeInto: any, mergeFrom: any, depth?: number): any;
// Return a deep copy of the specified object.
cloneDeep(copyFrom: any, depth?: number): any;
var c: c.IConfig;
// Return true if two objects have equal contents.
equalsDeep(object1: any, object2: any, dept?: number): boolean;
module c {
// Returns an object containing all elements that differ between two objects.
diffDeep(object1: any, object2: any, depth?: number): any;
// see https://github.com/lorenwest/node-config/wiki/Using-Config-Utilities
interface IUtil {
// Extend an object (and any object it contains) with one or more objects (and objects contained in them).
extendDeep(mergeInto: any, mergeFrom: any, depth?: number): any;
// Make a javascript object property immutable (assuring it cannot be changed from the current value).
makeImmutable(object: any, propertyName?: string, propertyValue?: string): any;
// Return a deep copy of the specified object.
cloneDeep(copyFrom: any, depth?: number): any;
// Make an object property hidden so it doesn't appear when enumerating elements of the object.
makeHidden(object: any, propertyName: string, propertyValue?: string): any;
// Return true if two objects have equal contents.
equalsDeep(object1: any, object2: any, dept?: number): boolean;
// Get the current value of a config environment variable
getEnv(varName: string): string;
}
// Returns an object containing all elements that differ between two objects.
diffDeep(object1: any, object2: any, depth?: number): any;
export function get<T>(setting: string): T;
export function has(setting: string): boolean;
export var util: IUtil;
// Make a javascript object property immutable (assuring it cannot be changed from the current value).
makeImmutable(object: any, propertyName?: string, propertyValue?: string): any;
// Make an object property hidden so it doesn't appear when enumerating elements of the object.
makeHidden(object: any, propertyName: string, propertyValue?: string): any;
// Get the current value of a config environment variable
getEnv(varName: string): string;
}
interface IConfig {
get<T>(setting: string): T;
has(setting: string): boolean;
util: IUtil;
}
}
export = c;
}