retrofit-axios-ts
Version:
A declarative and axios based retrofit implementation for JavaScript and TypeScript.
36 lines (35 loc) • 1.28 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const BaseData_1 = __importDefault(require("./BaseData"));
const form_data_1 = __importDefault(require("form-data"));
class MultiPartResolver extends BaseData_1.default {
/* constructor() {
super();
} */
resolve(headers, data) {
const formData = new form_data_1.default();
for (const key in data) {
if (data[key].filename) {
formData.append(key, data[key].value, data[key].filename);
}
else if (Array.isArray(data[key])) {
for (const element of data[key]) {
formData.append(key, element.value, element.filename);
}
}
else if (Array.isArray(data[key].value)) {
for (const element of data[key].value) {
formData.append(key, element);
}
}
else {
formData.append(key, data[key].value);
}
}
return formData;
}
}
exports.default = MultiPartResolver;