first commit

This commit is contained in:
Raul Lugo
2024-12-25 20:30:57 +01:00
commit 6ef22531bb
165 changed files with 53426 additions and 0 deletions

63
dist/script/client.js vendored Normal file
View File

@@ -0,0 +1,63 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.CaballoClient = void 0;
const errors_js_1 = require("./types/errors.js");
const constants_js_1 = require("./constants.js");
const utils_js_1 = require("./utils.js");
class CaballoClient {
config;
constructor(config) {
this.config = {
...constants_js_1.DEFAULT_CONFIG,
...config,
};
if (!this.config.baseUrl) {
throw new Error("baseUrl is required");
}
}
async validateXml(content) {
try {
const blob = (0, utils_js_1.toBlob)(content);
if (blob.size === 0) {
throw new errors_js_1.ValidationError("Empty file content");
}
const formData = new FormData();
formData.append("file", blob);
const response = await fetch(`${this.config.baseUrl}${constants_js_1.ENDPOINTS.validateXml}`, {
method: "POST",
body: formData,
signal: AbortSignal.timeout(this.config.timeout),
});
return (0, utils_js_1.handleResponse)(response);
}
catch (error) {
if (error instanceof TypeError) {
throw new errors_js_1.ValidationError("Network error or invalid URL");
}
throw error;
}
}
async validatePdf(content) {
try {
const blob = (0, utils_js_1.toBlob)(content);
if (blob.size === 0) {
throw new errors_js_1.ValidationError("Empty file content");
}
const formData = new FormData();
formData.append("file", blob);
const response = await fetch(`${this.config.baseUrl}${constants_js_1.ENDPOINTS.validatePdf}`, {
method: "POST",
body: formData,
signal: AbortSignal.timeout(this.config.timeout),
});
return (0, utils_js_1.handleResponse)(response);
}
catch (error) {
if (error instanceof TypeError) {
throw new errors_js_1.ValidationError("Network error or invalid URL");
}
throw error;
}
}
}
exports.CaballoClient = CaballoClient;