@kubiklabs/wasmkit
Version:
Wasmkit is a development environment to compile, deploy, test, run cosmwasm contracts on different networks.
62 lines (61 loc) • 1.73 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ErrorPutter = exports.mkErrorMessage = void 0;
function stringify(v) {
if (typeof v === "number" && !isFinite(v)) {
if (isNaN(v)) {
return "NaN";
}
return v > 0 ? "Infinity" : "-Infinity";
}
return JSON.stringify(v);
}
function mkErrorMessage(path, value, expectedType) {
return `Invalid value ${stringify(value)} for ${path} - Expected a value of type ${expectedType}.`;
}
exports.mkErrorMessage = mkErrorMessage;
class CfgErrors {
constructor(prefix = "config.networks") {
this.errors = [];
this.prefix = prefix;
}
push(net, field, val, expectedType) {
this.errors.push(mkErrorMessage(`${this.prefix}.${net}.${field}`, val, expectedType));
}
appendErrors(errors) {
for (const e of errors) {
this.errors.push(e);
}
}
isEmpty() {
return this.errors.length === 0;
}
toString() {
return this.errors.join("\n * ");
}
putter(net, field) {
return new ErrorPutter(this, net, field);
}
}
exports.default = CfgErrors;
class ErrorPutter {
constructor(errs, net, field) {
this.isEmpty = true;
this.errs = errs;
this.net = net;
this.field = field;
}
// wraps CfgErrors.put and always returns false.
push(field, val, expectedType) {
if (field === "") {
field = this.field;
}
else {
field = this.field + "." + field;
}
this.errs.push(this.net, field, val, expectedType);
this.isEmpty = false;
return false;
}
}
exports.ErrorPutter = ErrorPutter;