alpha-dic
Version:
Asynchronous dependency injection container
19 lines (18 loc) • 703 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.configProviderForObject = void 0;
const objectPath = require("object-path");
const errors = require("./errors");
function configProviderForObject(config) {
return (request) => {
const result = objectPath.get(config, request.path);
if (result === undefined) {
if (request.hasDefaultValue) {
return request.defaultValue;
}
throw new errors.MISSING_CONFIG_VALUE(`Config at path "${request.path}" is not defined and default value is not provided`);
}
return result;
};
}
exports.configProviderForObject = configProviderForObject;
;