@volumax/requests
Version:
A requests handler
275 lines • 11.5 kB
JavaScript
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.R = void 0;
// Util Functions
const combineFunctions_1 = require("./utils/combineFunctions");
const fetch_1 = require("./utils/fetch");
class R {
constructor(payload) {
if (payload) {
// General
if (payload.generalSettings) {
this.generalSettingsValue = payload.generalSettings;
}
else {
this.generalSettingsValue = {};
}
if (payload.generalHeaders) {
if (payload.generalHeaders instanceof Headers) {
this.generalHeadersValue = payload.generalHeaders;
}
else {
const headers = new Headers();
payload.generalHeaders.forEach(element => {
for (const [key, value] of Object.entries(element)) {
headers.set(key, value);
}
});
this.generalHeadersValue = headers;
}
}
else {
this.generalHeadersValue = new Headers();
}
// Get
if (payload.getSettings) {
this.getSettingsValue = payload.getSettings;
}
else {
this.getSettingsValue = {};
}
if (payload.getHeaders) {
if (payload.getHeaders instanceof Headers) {
this.getHeadersValue = payload.getHeaders;
}
else {
const headers = new Headers();
payload.getHeaders.forEach(element => {
for (const [key, value] of Object.entries(element)) {
headers.set(key, value);
}
});
this.getHeadersValue = headers;
}
}
else {
this.getHeadersValue = new Headers();
}
// Post
if (payload.postSettings) {
this.postSettingsValue = payload.postSettings;
}
else {
this.postSettingsValue = {};
}
if (payload.postHeaders) {
if (payload.postHeaders instanceof Headers) {
this.postHeadersValue = payload.postHeaders;
}
else {
const headers = new Headers();
payload.postHeaders.forEach(element => {
for (const [key, value] of Object.entries(element)) {
headers.set(key, value);
}
});
this.postHeadersValue = headers;
}
}
else {
this.postHeadersValue = new Headers();
}
// Put
if (payload.putSettings) {
this.putSettingsValue = payload.putSettings;
}
else {
this.putSettingsValue = {};
}
if (payload.putHeaders) {
if (payload.putHeaders instanceof Headers) {
this.putHeadersValue = payload.putHeaders;
}
else {
const headers = new Headers();
payload.putHeaders.forEach(element => {
for (const [key, value] of Object.entries(element)) {
headers.set(key, value);
}
});
this.putHeadersValue = headers;
}
}
else {
this.putHeadersValue = new Headers();
}
// Delete
if (payload.deleteSettings) {
this.deleteSettingsValue = payload.deleteSettings;
}
else {
this.deleteSettingsValue = {};
}
if (payload.deleteHeaders) {
if (payload.deleteHeaders instanceof Headers) {
this.deleteHeadersValue = payload.deleteHeaders;
}
else {
const headers = new Headers();
payload.deleteHeaders.forEach(element => {
for (const [key, value] of Object.entries(element)) {
headers.set(key, value);
}
});
this.deleteHeadersValue = headers;
}
}
else {
this.deleteHeadersValue = new Headers();
}
// CSRF
if (payload.csrfUrl) {
this.csrfRouteUrlValue = payload.csrfUrl;
}
else {
this.csrfRouteUrlValue = undefined;
}
}
else {
this.generalSettingsValue = {};
this.generalHeadersValue = new Headers();
this.getSettingsValue = {};
this.getHeadersValue = new Headers();
this.postSettingsValue = {};
this.postHeadersValue = new Headers();
this.putSettingsValue = {};
this.putHeadersValue = new Headers();
this.deleteSettingsValue = {};
this.deleteHeadersValue = new Headers();
this.csrfRouteUrlValue = undefined;
}
}
get(payload) {
return __awaiter(this, void 0, void 0, function* () {
const req = new Request(payload.url, Object.assign(Object.assign({}, (0, combineFunctions_1.combineSettings)(this.generalSettingsValue, this.getSettingsValue, payload.settings)), { headers: (0, combineFunctions_1.combineHeaders)(this.generalHeadersValue, this.getHeadersValue, payload.headers), method: 'GET' }));
return yield (0, fetch_1.fetchAction)(req, this);
});
}
getJSON(payload) {
return __awaiter(this, void 0, void 0, function* () {
return yield this.get(payload).then(data => data.json());
});
}
post(payload) {
return __awaiter(this, void 0, void 0, function* () {
const req = new Request(payload.url, Object.assign(Object.assign({}, (0, combineFunctions_1.combineSettings)(this.generalSettingsValue, this.postSettingsValue, payload.settings)), { headers: (0, combineFunctions_1.combineHeaders)(this.generalHeadersValue, this.postHeadersValue, payload.headers), body: payload.body, method: 'POST' }));
const res = yield (0, fetch_1.fetchAction)(req, this);
console.log(res);
return res;
});
}
postJSON(payload) {
return __awaiter(this, void 0, void 0, function* () {
return yield this.post(payload).then(data => data.json());
});
}
put(payload) {
return __awaiter(this, void 0, void 0, function* () {
const req = new Request(payload.url, Object.assign(Object.assign({}, (0, combineFunctions_1.combineSettings)(this.generalSettingsValue, this.putSettingsValue, payload.settings)), { headers: (0, combineFunctions_1.combineHeaders)(this.generalHeadersValue, this.putHeadersValue, payload.headers), body: payload.body, method: 'PUT' }));
return yield (0, fetch_1.fetchAction)(req, this);
});
}
putJSON(payload) {
return __awaiter(this, void 0, void 0, function* () {
return yield this.put(payload).then(data => data.json());
});
}
delete(payload) {
return __awaiter(this, void 0, void 0, function* () {
const req = new Request(payload.url, Object.assign(Object.assign({}, (0, combineFunctions_1.combineSettings)(this.generalSettingsValue, this.putSettingsValue, payload.settings)), { headers: (0, combineFunctions_1.combineHeaders)(this.generalHeadersValue, this.putHeadersValue, payload.headers), body: payload.body, method: 'DELETE' }));
return yield (0, fetch_1.fetchAction)(req, this);
});
}
deleteJSON(payload) {
return __awaiter(this, void 0, void 0, function* () {
return yield this.delete(payload).then(data => data.json());
});
}
setGeneralHeader(key, value) {
this.generalHeadersValue.set(key, value);
}
setGeneralSettings(settings) {
this.generalSettingsValue = Object.assign(Object.assign({}, this.generalSettingsValue), settings);
}
setGetHeader(key, value) {
this.getHeadersValue.set(key, value);
}
setGetSettings(settings) {
this.getSettingsValue = Object.assign(Object.assign({}, this.getSettingsValue), settings);
}
setPostHeader(key, value) {
this.postHeadersValue.set(key, value);
}
setPostSettings(settings) {
this.postSettingsValue = Object.assign(Object.assign({}, this.postSettingsValue), settings);
}
setPutHeader(key, value) {
this.putHeadersValue.set(key, value);
}
setPutSettings(settings) {
this.putSettingsValue = Object.assign(Object.assign({}, this.putSettingsValue), settings);
}
setDeleteHeader(key, value) {
this.deleteHeadersValue.set(key, value);
}
setDeleteSettings(settings) {
this.deleteSettingsValue = Object.assign(Object.assign({}, this.deleteSettingsValue), settings);
}
get generalHeaders() {
return this.generalHeadersValue;
}
get generalSettings() {
return this.generalSettingsValue;
}
get getHeaders() {
return (0, combineFunctions_1.combineHeaders)(this.generalHeadersValue, this.getHeadersValue);
}
get getSettings() {
return (0, combineFunctions_1.combineSettings)(this.generalSettingsValue, this.getSettingsValue);
}
get postHeaders() {
return (0, combineFunctions_1.combineHeaders)(this.generalHeadersValue, this.postHeadersValue);
}
get postSettings() {
return (0, combineFunctions_1.combineSettings)(this.generalSettingsValue, this.postSettingsValue);
}
get putHeaders() {
return (0, combineFunctions_1.combineHeaders)(this.generalHeadersValue, this.putHeadersValue);
}
get putSettings() {
return (0, combineFunctions_1.combineSettings)(this.generalSettingsValue, this.putSettingsValue);
}
get deleteHeaders() {
return (0, combineFunctions_1.combineHeaders)(this.generalHeadersValue, this.deleteHeadersValue);
}
get deleteSettings() {
return (0, combineFunctions_1.combineSettings)(this.generalSettingsValue, this.deleteSettingsValue);
}
get csrfUrl() {
return this.csrfRouteUrlValue;
}
set csrfUrl(url) {
this.csrfRouteUrlValue = url;
}
}
exports.R = R;
//# sourceMappingURL=index.js.map