UNPKG

invoicing-sdk

Version:

Invoice SDK entry package for getting started quickly, including domain and application layers

121 lines 3.05 kB
// src/index.ts import { Invoice, Money, CustomerInfo, OrderItem, InvoiceFinancials, ShippingCost } from "@invoicing-sdk/domain"; import { InvoiceNumberValidatorImpl, DEFAULT_INVOICE_NUMBER_CONFIG, BasePDFRenderer, PDFGenerationError, InvalidLegalInfoError, DEFAULT_PDF_OPTIONS, InvoiceNumberGeneratorImpl, createInvoiceNumberGenerator, validateGeneratedNumber, DEFAULT_GENERATOR_CONFIG, GENERATOR_PRESETS } from "@invoicing-sdk/domain"; import { makeRequestInvoice, createRequestInvoiceUseCase, makeIssueInvoice, createIssueInvoiceUseCase, makeCreateInvoice, createCreateInvoiceUseCase, makeListInvoices, createListInvoicesUseCase, makeGetInvoice, createGetInvoiceUseCase } from "@invoicing-sdk/application"; import { EventBusError, EventPublishError, EventSubscriptionError } from "@invoicing-sdk/application"; import { makeRequestInvoice as makeRequestInvoice2, makeIssueInvoice as makeIssueInvoice2, makeCreateInvoice as makeCreateInvoice2, makeListInvoices as makeListInvoices2, makeGetInvoice as makeGetInvoice2 } from "@invoicing-sdk/application"; function createInvoicingSDK(dependencies) { return { requestInvoice: makeRequestInvoice2(dependencies), issueInvoice: makeIssueInvoice2(dependencies), createInvoice: makeCreateInvoice2(dependencies), listInvoices: makeListInvoices2(dependencies), getInvoice: makeGetInvoice2(dependencies) }; } function createUseCases(useCases) { return useCases; } function validateSDKDependencies(dependencies) { const required = [ "invoiceRepository", "orderRepository", "invoiceNumberValidator", "pdfRenderer", "invoiceNumberGenerator", "legalInfo", "shippingRateProvider", "shippingCostPolicy" ]; const missing = required.filter( (dep) => !(dep in dependencies) || !dependencies[dep] ); if (missing.length > 0) { throw new Error( `Missing required dependencies for InvoicingSDK: ${missing.join( ", " )}. Please provide all required dependencies to create the SDK.` ); } } function createInvoicingSDKSafe(dependencies) { validateSDKDependencies(dependencies); return createInvoicingSDK(dependencies); } export { BasePDFRenderer, CustomerInfo, DEFAULT_GENERATOR_CONFIG, DEFAULT_INVOICE_NUMBER_CONFIG, DEFAULT_PDF_OPTIONS, EventBusError, EventPublishError, EventSubscriptionError, GENERATOR_PRESETS, InvalidLegalInfoError, Invoice, InvoiceFinancials, InvoiceNumberGeneratorImpl, InvoiceNumberValidatorImpl, Money, OrderItem, PDFGenerationError, ShippingCost, createCreateInvoiceUseCase, createGetInvoiceUseCase, createInvoiceNumberGenerator, createInvoicingSDK, createInvoicingSDKSafe, createIssueInvoiceUseCase, createListInvoicesUseCase, createRequestInvoiceUseCase, createUseCases, makeCreateInvoice, makeGetInvoice, makeIssueInvoice, makeListInvoices, makeRequestInvoice, validateGeneratedNumber, validateSDKDependencies }; //# sourceMappingURL=index.mjs.map