invoicing-sdk
Version:
Invoice SDK entry package for getting started quickly, including domain and application layers
139 lines (138 loc) • 5.53 kB
JavaScript
;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/index.ts
var index_exports = {};
__export(index_exports, {
BasePDFRenderer: () => import_domain2.BasePDFRenderer,
CustomerInfo: () => import_domain.CustomerInfo,
DEFAULT_GENERATOR_CONFIG: () => import_domain2.DEFAULT_GENERATOR_CONFIG,
DEFAULT_INVOICE_NUMBER_CONFIG: () => import_domain2.DEFAULT_INVOICE_NUMBER_CONFIG,
DEFAULT_PDF_OPTIONS: () => import_domain2.DEFAULT_PDF_OPTIONS,
EventBusError: () => import_application2.EventBusError,
EventPublishError: () => import_application2.EventPublishError,
EventSubscriptionError: () => import_application2.EventSubscriptionError,
GENERATOR_PRESETS: () => import_domain2.GENERATOR_PRESETS,
InvalidLegalInfoError: () => import_domain2.InvalidLegalInfoError,
Invoice: () => import_domain.Invoice,
InvoiceFinancials: () => import_domain.InvoiceFinancials,
InvoiceNumberGeneratorImpl: () => import_domain2.InvoiceNumberGeneratorImpl,
InvoiceNumberValidatorImpl: () => import_domain2.InvoiceNumberValidatorImpl,
Money: () => import_domain.Money,
OrderItem: () => import_domain.OrderItem,
PDFGenerationError: () => import_domain2.PDFGenerationError,
ShippingCost: () => import_domain.ShippingCost,
createCreateInvoiceUseCase: () => import_application.createCreateInvoiceUseCase,
createGetInvoiceUseCase: () => import_application.createGetInvoiceUseCase,
createInvoiceNumberGenerator: () => import_domain2.createInvoiceNumberGenerator,
createInvoicingSDK: () => createInvoicingSDK,
createInvoicingSDKSafe: () => createInvoicingSDKSafe,
createIssueInvoiceUseCase: () => import_application.createIssueInvoiceUseCase,
createListInvoicesUseCase: () => import_application.createListInvoicesUseCase,
createRequestInvoiceUseCase: () => import_application.createRequestInvoiceUseCase,
createUseCases: () => createUseCases,
makeCreateInvoice: () => import_application.makeCreateInvoice,
makeGetInvoice: () => import_application.makeGetInvoice,
makeIssueInvoice: () => import_application.makeIssueInvoice,
makeListInvoices: () => import_application.makeListInvoices,
makeRequestInvoice: () => import_application.makeRequestInvoice,
validateGeneratedNumber: () => import_domain2.validateGeneratedNumber,
validateSDKDependencies: () => validateSDKDependencies
});
module.exports = __toCommonJS(index_exports);
var import_domain = require("@invoicing-sdk/domain");
var import_domain2 = require("@invoicing-sdk/domain");
var import_application = require("@invoicing-sdk/application");
var import_application2 = require("@invoicing-sdk/application");
var import_application3 = require("@invoicing-sdk/application");
function createInvoicingSDK(dependencies) {
return {
requestInvoice: (0, import_application3.makeRequestInvoice)(dependencies),
issueInvoice: (0, import_application3.makeIssueInvoice)(dependencies),
createInvoice: (0, import_application3.makeCreateInvoice)(dependencies),
listInvoices: (0, import_application3.makeListInvoices)(dependencies),
getInvoice: (0, import_application3.makeGetInvoice)(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);
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
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.js.map