ngx-hybrid-soap
Version:
SOAP service for Angular
27 lines • 3.63 kB
JavaScript
export class SoapAttachment {
constructor(mimetype, contentId, name, body) {
this.mimetype = mimetype;
this.contentId = contentId;
this.name = name;
this.body = body;
}
static fromFormFiles(files = []) {
if (files instanceof FileList) {
files = Array.from(files);
}
const promises = files.map((file) => {
return new Promise(function (resolve) {
const reader = new FileReader();
reader.readAsArrayBuffer(file);
reader.onload = function (e) {
const arrayBuffer = e.target.result;
const bytes = new Uint8Array(arrayBuffer);
const attachment = new SoapAttachment(file.type, file.contentId || file.name, file.name, bytes);
resolve(attachment);
};
});
});
return Promise.all(promises);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29hcEF0dGFjaG1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc29hcC9zcmMvbGliL3NvYXAvc29hcEF0dGFjaG1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGNBQWM7SUFFekIsWUFDUyxRQUFnQixFQUNoQixTQUFpQixFQUNqQixJQUFZLEVBQ1osSUFBUztRQUhULGFBQVEsR0FBUixRQUFRLENBQVE7UUFDaEIsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUNqQixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osU0FBSSxHQUFKLElBQUksQ0FBSztJQUdsQixDQUFDO0lBRUQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxRQUEyQixFQUFFO1FBQ2hELElBQUksS0FBSyxZQUFZLFFBQVEsRUFBRSxDQUFDO1lBQzlCLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLENBQUM7UUFFRCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7WUFDdkMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFTLE9BQU87Z0JBQ2pDLE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQ2hDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDL0IsTUFBTSxDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUM7b0JBQ3pCLE1BQU0sV0FBVyxHQUFJLENBQUMsQ0FBQyxNQUFjLENBQUMsTUFBTSxDQUFDO29CQUM3QyxNQUFNLEtBQUssR0FBRyxJQUFJLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztvQkFDMUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztvQkFDaEcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUN0QixDQUFDLENBQUE7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUosT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBTb2FwQXR0YWNobWVudCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIG1pbWV0eXBlOiBzdHJpbmcsXG4gICAgcHVibGljIGNvbnRlbnRJZDogc3RyaW5nLFxuICAgIHB1YmxpYyBuYW1lOiBzdHJpbmcsXG4gICAgcHVibGljIGJvZHk6IGFueVxuICApIHtcblxuICB9XG5cbiAgc3RhdGljIGZyb21Gb3JtRmlsZXMoZmlsZXM6IEZpbGVMaXN0IHwgRmlsZVtdID0gW10pOiBQcm9taXNlPGFueT4ge1xuICAgIGlmIChmaWxlcyBpbnN0YW5jZW9mIEZpbGVMaXN0KSB7XG4gICAgICBmaWxlcyA9IEFycmF5LmZyb20oZmlsZXMpO1xuICAgIH1cblxuICAgIGNvbnN0IHByb21pc2VzID0gZmlsZXMubWFwKChmaWxlOiBhbnkpID0+IHtcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlKSB7XG4gICAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICAgIHJlYWRlci5yZWFkQXNBcnJheUJ1ZmZlcihmaWxlKTtcbiAgICAgICAgcmVhZGVyLm9ubG9hZCA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgY29uc3QgYXJyYXlCdWZmZXIgPSAoZS50YXJnZXQgYXMgYW55KS5yZXN1bHQ7XG4gICAgICAgICAgY29uc3QgYnl0ZXMgPSBuZXcgVWludDhBcnJheShhcnJheUJ1ZmZlcik7XG4gICAgICAgICAgY29uc3QgYXR0YWNobWVudCA9IG5ldyBTb2FwQXR0YWNobWVudChmaWxlLnR5cGUsIGZpbGUuY29udGVudElkIHx8IGZpbGUubmFtZSwgZmlsZS5uYW1lLCBieXRlcyk7XG4gICAgICAgICAgcmVzb2x2ZShhdHRhY2htZW50KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgIHJldHVybiBQcm9taXNlLmFsbChwcm9taXNlcyk7XG4gIH1cblxufVxuIl19