UNPKG

@nodecfdi/cfdi-cleaner

Version:

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

43 lines (42 loc) 1.67 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const cfdi_core_1 = require("@nodecfdi/cfdi-core"); const xml_document_cleaners_1 = __importDefault(require("#src/xml_document_cleaners")); const xml_string_cleaners_1 = __importDefault(require("#src/xml_string_cleaners")); class Cleaner { _stringCleaners; _xmlCleaners; constructor(stringCleaners = null, xmlDocumentCleaners = null) { this._stringCleaners = stringCleaners ?? xml_string_cleaners_1.default.createDefault(); this._xmlCleaners = xmlDocumentCleaners ?? xml_document_cleaners_1.default.createDefault(); } static staticClean(xml) { return new Cleaner().cleanStringToString(xml); } exclude(excludeList) { this._stringCleaners = this._stringCleaners.withOutCleaners(excludeList); this._xmlCleaners = this._xmlCleaners.withOutCleaners(excludeList); } cleanString(xml) { return this._stringCleaners.clean(xml); } cleanDocument(document) { this._xmlCleaners.clean(document); } cleanStringToDocument(xml) { const xmlClean = this.cleanString(xml); const document = this.createDocument(xmlClean); this.cleanDocument(document); return document; } cleanStringToString(xml) { return (0, cfdi_core_1.getSerializer)().serializeToString(this.cleanStringToDocument(xml)); } createDocument(xml) { return (0, cfdi_core_1.newDocumentContent)(xml); } } exports.default = Cleaner;