ph-dev-tools
Version:
Development Tools for PHibernate
43 lines (37 loc) • 1.1 kB
text/typescript
/**
* Created by Papa on 4/24/2016.
*/
import {parseFlags} from "./parser";
import * as fs from "fs";
import {Configuration} from "./Options";
export function readConfiguration(
projectPath:string,
programArguments:string[]
):Configuration {
let flags = parseFlags(programArguments);
let configFilePath = projectPath + '/' + flags.optionsFilePath;
let configFile = fs.readFileSync(configFilePath);
let configString = configFile.toString();
let config:Configuration = JSON.parse(configString);
verifyConfiguration(config);
return config;
}
function verifyConfiguration(
options:Configuration
):void {
if(!options.source) {
throw `'source' must be specified in options`;
}
if(!options.source.dir) {
throw `'source.dir' must be specified in options`;
}
if(!options.generated) {
throw `'generated' must be specified in options`;
}
if(!options.generated.client) {
throw `'generated.client' must be specified in options`;
}
if(!options.generated.client.dir) {
throw `'generated.client.dir' must be specified in options`;
}
}