@nodecfdi/cfdi-cleaner
Version:
Librería para limpiar comprobantes fiscales digitales v3.3 y v4.0
31 lines (30 loc) • 1.43 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const append_xml_declaration_1 = __importDefault(require("#src/xml_string_cleaners/append_xml_declaration"));
const remove_non_xml_strings_1 = __importDefault(require("#src/xml_string_cleaners/remove_non_xml_strings"));
const split_xml_declaration_from_document_1 = __importDefault(require("#src/xml_string_cleaners/split_xml_declaration_from_document"));
const xml_ns_schema_location_1 = __importDefault(require("#src/xml_string_cleaners/xml_ns_schema_location"));
class XmlStringCleaners {
cleaners;
constructor(...cleaners) {
this.cleaners = cleaners;
}
static createDefault() {
return new XmlStringCleaners(new remove_non_xml_strings_1.default(), new split_xml_declaration_from_document_1.default(), new append_xml_declaration_1.default(), new xml_ns_schema_location_1.default());
}
clean(xml) {
let xmlResult = xml;
for (const cleaner of this.cleaners) {
xmlResult = cleaner.clean(xmlResult);
}
return xmlResult;
}
withOutCleaners(excludeList) {
const cleaners = excludeList.filterObjects(...this.cleaners);
return new XmlStringCleaners(...cleaners);
}
}
exports.default = XmlStringCleaners;