UNPKG

@nodecfdi/cfdi-cleaner

Version:

Librería para limpiar comprobantes fiscales digitales v3.3 y v4.0

31 lines (30 loc) 1.43 kB
"use strict"; 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;