amazon-route-53-dns-zone-file
Version:
Makes DNS Zone File easy. Parses and validates BIND zone files and can be extended for custom features. Functionality is modular. Features are made open for extension and closed for runtime mutation. Written in TypeScript.
32 lines • 3.98 kB
JavaScript
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
import { ParsingError } from '../errors/parsing_error';
var ErrorBuilder = /** @class */ (function () {
function ErrorBuilder() {
this.parsingLineNumber = 0;
this.entry = undefined;
this.getErrorText = undefined;
}
ErrorBuilder.prototype.update = function (parsingLineNumber, entry) {
this.parsingLineNumber = parsingLineNumber;
this.entry = entry;
return this;
};
ErrorBuilder.prototype.create = function (overrides, i18nArgs) {
var args = __assign(__assign({ parsingLineNumber: this.parsingLineNumber }, this.entry), overrides);
var i18nMessage = this.getErrorText(args, i18nArgs);
return new ParsingError(i18nMessage, args.instructionType, args.parsingLineNumber, args.lineContent, args.value);
};
return ErrorBuilder;
}());
export { ErrorBuilder };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JfYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92YWxpZGF0aW9uL2Vycm9yX2J1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFJdkQ7SUFBQTtRQUNTLHNCQUFpQixHQUFXLENBQUMsQ0FBQztRQUM5QixVQUFLLEdBQTJCLFNBQWdCLENBQUM7UUFDakQsaUJBQVksR0FBOEIsU0FBZ0IsQ0FBQztJQStCcEUsQ0FBQztJQTdCUSw2QkFBTSxHQUFiLFVBQ0UsaUJBQXlCLEVBQ3pCLEtBQTZCO1FBRTdCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztRQUMzQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSw2QkFBTSxHQUFiLFVBQ0UsU0FBcUIsRUFDckIsUUFBbUM7UUFFbkMsSUFBTSxJQUFJLEdBQUcsb0JBQ1gsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGlCQUEyQixJQUNoRCxJQUFJLENBQUMsS0FBTSxHQUNYLFNBQVMsQ0FDWSxDQUFDO1FBRTNCLElBQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRXRELE9BQU8sSUFBSSxZQUFZLENBQ3JCLFdBQVcsRUFDWCxJQUFJLENBQUMsZUFBc0IsRUFDM0IsSUFBSSxDQUFDLGlCQUFpQixFQUN0QixJQUFJLENBQUMsV0FBVyxFQUNoQixJQUFJLENBQUMsS0FBSyxDQUNYLENBQUM7SUFDSixDQUFDO0lBQ0gsbUJBQUM7QUFBRCxDQUFDLEFBbENELElBa0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGFyc2luZ0Vycm9yIH0gZnJvbSAnLi4vZXJyb3JzL3BhcnNpbmdfZXJyb3InO1xuaW1wb3J0IHsgU291cmNlTWFwVHlwaW5ncywgUGFyc2VyVHlwaW5ncyB9IGZyb20gJy4uL3BhcnNlci90eXBlc19wYXJzZXInO1xuaW1wb3J0IHsgVmFsaWRhdGlvbiB9IGZyb20gJy4vdmFsaWRhdGlvbl90eXBlcyc7XG5cbmV4cG9ydCBjbGFzcyBFcnJvckJ1aWxkZXIgaW1wbGVtZW50cyBWYWxpZGF0aW9uLlZhbGlkYXRpb25FcnJvckJ1aWxkZXIge1xuICBwdWJsaWMgcGFyc2luZ0xpbmVOdW1iZXI6IG51bWJlciA9IDA7XG4gIHB1YmxpYyBlbnRyeTogU291cmNlTWFwVHlwaW5ncy5WYWx1ZSA9IHVuZGVmaW5lZCBhcyBhbnk7XG4gIHB1YmxpYyBnZXRFcnJvclRleHQ6IFZhbGlkYXRpb24uR2V0RXJyb3JUZXh0Rm4gPSB1bmRlZmluZWQgYXMgYW55O1xuXG4gIHB1YmxpYyB1cGRhdGUoXG4gICAgcGFyc2luZ0xpbmVOdW1iZXI6IG51bWJlcixcbiAgICBlbnRyeTogU291cmNlTWFwVHlwaW5ncy5WYWx1ZVxuICApOiB0aGlzIHtcbiAgICB0aGlzLnBhcnNpbmdMaW5lTnVtYmVyID0gcGFyc2luZ0xpbmVOdW1iZXI7XG4gICAgdGhpcy5lbnRyeSA9IGVudHJ5O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZTxPdmVycmlkZXMgZXh0ZW5kcyBQYXJ0aWFsPFBhcnNlclR5cGluZ3MuTWV0YUFyZz4+KFxuICAgIG92ZXJyaWRlcz86IE92ZXJyaWRlcyxcbiAgICBpMThuQXJncz86IFZhbGlkYXRpb24uSTE4blJlbmRlck9ialxuICApOiBQYXJzaW5nRXJyb3Ige1xuICAgIGNvbnN0IGFyZ3MgPSB7XG4gICAgICBwYXJzaW5nTGluZU51bWJlcjogdGhpcy5wYXJzaW5nTGluZU51bWJlciBhcyBudW1iZXIsXG4gICAgICAuLi50aGlzLmVudHJ5ISxcbiAgICAgIC4uLm92ZXJyaWRlcyxcbiAgICB9IGFzIFZhbGlkYXRpb24uRXJyb3JFbnRyeTtcblxuICAgIGNvbnN0IGkxOG5NZXNzYWdlID0gdGhpcy5nZXRFcnJvclRleHQoYXJncywgaTE4bkFyZ3MpO1xuXG4gICAgcmV0dXJuIG5ldyBQYXJzaW5nRXJyb3IoXG4gICAgICBpMThuTWVzc2FnZSxcbiAgICAgIGFyZ3MuaW5zdHJ1Y3Rpb25UeXBlIGFzIGFueSxcbiAgICAgIGFyZ3MucGFyc2luZ0xpbmVOdW1iZXIsXG4gICAgICBhcmdzLmxpbmVDb250ZW50LFxuICAgICAgYXJncy52YWx1ZVxuICAgICk7XG4gIH1cbn1cbiJdfQ==