UNPKG

@nodecfdi/cfdi-cleaner

Version:

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

37 lines (36 loc) 1.35 kB
import { getSerializer, newDocumentContent } from '@nodecfdi/cfdi-core'; import XmlDocumentCleaners from '#src/xml_document_cleaners'; import XmlStringCleaners from '#src/xml_string_cleaners'; export default class Cleaner { _stringCleaners; _xmlCleaners; constructor(stringCleaners = null, xmlDocumentCleaners = null) { this._stringCleaners = stringCleaners ?? XmlStringCleaners.createDefault(); this._xmlCleaners = xmlDocumentCleaners ?? XmlDocumentCleaners.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 getSerializer().serializeToString(this.cleanStringToDocument(xml)); } createDocument(xml) { return newDocumentContent(xml); } }