create-tezos-smart-contract
Version:
Node.js toolset to write, test and deploy Tezos smart contracts
30 lines (29 loc) • 1.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ConfigFile = void 0;
const ligo_1 = require("../ligo");
const parameters_1 = require("../ligo/parameters");
const defaults_1 = require("./defaults");
class ConfigFile {
constructor(config = defaults_1.defaultConfig) {
this.config = config;
}
static getName() {
return "config.json";
}
validate() {
try {
(0, parameters_1.toLigoVersion)(this.config.ligoVersion);
}
catch (err) {
if (err instanceof TypeError) {
throw new Error(`Invalid LIGO compiler version (ligoVersion: "${this.config.ligoVersion}"). LIGO version has to be a valid SemVer version or "next".`);
}
}
const validLigoFlavors = Object.values(ligo_1.LIGOFlavors);
if (!validLigoFlavors.includes(this.config.preferredLigoFlavor)) {
throw new Error("Invalid preferred LIGO flavor (preferredLigoFlavor). Valid values are " + validLigoFlavors.join(", "));
}
}
}
exports.ConfigFile = ConfigFile;