update
This commit is contained in:
126
ts/index.ts
126
ts/index.ts
@ -1,68 +1,90 @@
|
||||
import * as interfaces from './interfaces.js';
|
||||
// Import main class
|
||||
import { XInvoice } from './classes.xinvoice.js';
|
||||
|
||||
// Import format-specific encoder/decoder classes
|
||||
import { FacturXEncoder } from './formats/facturx.encoder.js';
|
||||
import { FacturXDecoder } from './formats/facturx.decoder.js';
|
||||
import { XInvoiceEncoder } from './formats/xrechnung.encoder.js';
|
||||
import { XInvoiceDecoder } from './formats/xrechnung.decoder.js';
|
||||
import { DecoderFactory } from './formats/decoder.factory.js';
|
||||
import { BaseDecoder } from './formats/base.decoder.js';
|
||||
// Import interfaces
|
||||
import * as common from './interfaces/common.js';
|
||||
|
||||
// Import validator classes
|
||||
import { ValidatorFactory } from './formats/validator.factory.js';
|
||||
import { BaseValidator } from './formats/base.validator.js';
|
||||
import { FacturXValidator } from './formats/facturx.validator.js';
|
||||
import { UBLValidator } from './formats/ubl.validator.js';
|
||||
// Import factories
|
||||
import { DecoderFactory } from './formats/factories/decoder.factory.js';
|
||||
import { EncoderFactory } from './formats/factories/encoder.factory.js';
|
||||
import { ValidatorFactory } from './formats/factories/validator.factory.js';
|
||||
|
||||
// Export specific interfaces for easier use
|
||||
// Import base classes
|
||||
import { BaseDecoder } from './formats/base/base.decoder.js';
|
||||
import { BaseEncoder } from './formats/base/base.encoder.js';
|
||||
import { BaseValidator } from './formats/base/base.validator.js';
|
||||
|
||||
// Import UBL base classes
|
||||
import { UBLBaseDecoder } from './formats/ubl/ubl.decoder.js';
|
||||
import { UBLBaseEncoder } from './formats/ubl/ubl.encoder.js';
|
||||
import { UBLBaseValidator } from './formats/ubl/ubl.validator.js';
|
||||
|
||||
// Import CII base classes
|
||||
import { CIIBaseDecoder } from './formats/cii/cii.decoder.js';
|
||||
import { CIIBaseEncoder } from './formats/cii/cii.encoder.js';
|
||||
import { CIIBaseValidator } from './formats/cii/cii.validator.js';
|
||||
|
||||
// Import PDF utilities
|
||||
import { PDFEmbedder } from './formats/pdf/pdf.embedder.js';
|
||||
import { PDFExtractor } from './formats/pdf/pdf.extractor.js';
|
||||
|
||||
// Import format detector
|
||||
import { FormatDetector } from './formats/utils/format.detector.js';
|
||||
|
||||
// Import Factur-X implementation
|
||||
import { FacturXDecoder } from './formats/cii/facturx/facturx.decoder.js';
|
||||
import { FacturXEncoder } from './formats/cii/facturx/facturx.encoder.js';
|
||||
import { FacturXValidator } from './formats/cii/facturx/facturx.validator.js';
|
||||
|
||||
// Export interfaces
|
||||
export type {
|
||||
IXInvoice,
|
||||
IParty,
|
||||
IAddress,
|
||||
IContact,
|
||||
IInvoiceItem,
|
||||
// Common interfaces
|
||||
TInvoice,
|
||||
TCreditNote,
|
||||
TDebitNote,
|
||||
TContact,
|
||||
TLetterEnvelope,
|
||||
TDocumentEnvelope,
|
||||
IPdf,
|
||||
|
||||
// Validation interfaces
|
||||
ValidationError,
|
||||
ValidationResult,
|
||||
ValidationLevel,
|
||||
InvoiceFormat,
|
||||
IValidator,
|
||||
|
||||
// Format interfaces
|
||||
ExportFormat,
|
||||
XInvoiceOptions,
|
||||
IValidator
|
||||
} from './interfaces.js';
|
||||
XInvoiceOptions
|
||||
} from './interfaces/common.js';
|
||||
|
||||
export { ValidationLevel, InvoiceFormat } from './interfaces/common.js';
|
||||
|
||||
// Export interfaces (legacy support)
|
||||
export { interfaces };
|
||||
export { common as interfaces };
|
||||
|
||||
// Export main class
|
||||
export { XInvoice };
|
||||
|
||||
// Export format classes
|
||||
export {
|
||||
// Base classes
|
||||
BaseDecoder,
|
||||
DecoderFactory,
|
||||
|
||||
// Format-specific encoders
|
||||
FacturXEncoder,
|
||||
XInvoiceEncoder,
|
||||
|
||||
// Format-specific decoders
|
||||
FacturXDecoder,
|
||||
XInvoiceDecoder
|
||||
};
|
||||
// Export factories
|
||||
export { DecoderFactory, EncoderFactory, ValidatorFactory };
|
||||
|
||||
// Export validator classes
|
||||
export const Validators = {
|
||||
ValidatorFactory,
|
||||
BaseValidator,
|
||||
FacturXValidator,
|
||||
UBLValidator
|
||||
};
|
||||
// Export base classes
|
||||
export { BaseDecoder, BaseEncoder, BaseValidator };
|
||||
|
||||
// For backward compatibility
|
||||
export { FacturXEncoder as ZugferdXmlEncoder };
|
||||
export { FacturXDecoder as ZUGFeRDXmlDecoder };
|
||||
// Export UBL base classes
|
||||
export { UBLBaseDecoder, UBLBaseEncoder, UBLBaseValidator };
|
||||
|
||||
// Export CII base classes
|
||||
export { CIIBaseDecoder, CIIBaseEncoder, CIIBaseValidator };
|
||||
|
||||
// Export Factur-X implementation
|
||||
export { FacturXDecoder, FacturXEncoder, FacturXValidator };
|
||||
|
||||
// Export PDF utilities
|
||||
export { PDFEmbedder, PDFExtractor };
|
||||
|
||||
// Export format detector
|
||||
export { FormatDetector };
|
||||
|
||||
/**
|
||||
* Validates an XML string against the appropriate format rules
|
||||
@ -72,8 +94,8 @@ export { FacturXDecoder as ZUGFeRDXmlDecoder };
|
||||
*/
|
||||
export function validateXml(
|
||||
xml: string,
|
||||
level: interfaces.ValidationLevel = interfaces.ValidationLevel.SYNTAX
|
||||
): interfaces.ValidationResult {
|
||||
level: common.ValidationLevel = common.ValidationLevel.SYNTAX
|
||||
): common.ValidationResult {
|
||||
try {
|
||||
const validator = ValidatorFactory.createValidator(xml);
|
||||
return validator.validate(level);
|
||||
@ -95,4 +117,4 @@ export function validateXml(
|
||||
*/
|
||||
export function createXInvoice(): XInvoice {
|
||||
return new XInvoice();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user