@sapphire-ion/framework 1.2.13 → 1.2.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -3,6 +3,8 @@ import { FilePicker } from '@capawesome/capacitor-file-picker';
|
|
|
3
3
|
import { CameraSource } from '@capacitor/camera';
|
|
4
4
|
import { Injectable } from '@angular/core';
|
|
5
5
|
import moment from 'moment';
|
|
6
|
+
import { Buffer } from 'buffer';
|
|
7
|
+
import mime from 'mime';
|
|
6
8
|
import * as i0 from "@angular/core";
|
|
7
9
|
import * as i1 from "@ionic/angular";
|
|
8
10
|
export class UtilsService {
|
|
@@ -103,7 +105,7 @@ export class Utils {
|
|
|
103
105
|
static async DownloadFile(file, fileName) {
|
|
104
106
|
var blob = null;
|
|
105
107
|
if (!(file instanceof Blob)) {
|
|
106
|
-
blob = await
|
|
108
|
+
blob = await Utils.Base64ToBlob(file, Utils.FindMimeFromNameOrExtension(fileName));
|
|
107
109
|
}
|
|
108
110
|
else {
|
|
109
111
|
blob = file;
|
|
@@ -120,8 +122,15 @@ export class Utils {
|
|
|
120
122
|
});
|
|
121
123
|
linkElement.dispatchEvent(me);
|
|
122
124
|
}
|
|
123
|
-
static async
|
|
124
|
-
|
|
125
|
+
static async BlobToBase64(blob) {
|
|
126
|
+
const ab = await blob.arrayBuffer();
|
|
127
|
+
return Buffer.from(ab).toString("base64");
|
|
128
|
+
}
|
|
129
|
+
static async Base64ToBlob(base64, mimeType) {
|
|
130
|
+
return new Blob([Buffer.from(base64, "base64")], { type: mimeType });
|
|
131
|
+
}
|
|
132
|
+
static FindMimeFromNameOrExtension(pathOrExtension) {
|
|
133
|
+
return mime.getType(pathOrExtension) || 'application/octet-stream';
|
|
125
134
|
}
|
|
126
135
|
}
|
|
127
136
|
export function Search(items, Search, bindLabel) {
|
|
@@ -146,4 +155,4 @@ function EncodeBase64(obj) {
|
|
|
146
155
|
}
|
|
147
156
|
}
|
|
148
157
|
export const INT_MAX = 2_147_483_646;
|
|
149
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvdXRpbHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBK0IsTUFBTSxtQ0FBbUMsQ0FBQztBQUU1RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7OztBQU81QixNQUFNLE9BQU8sWUFBWTtJQUV2QixZQUFvQixxQkFBNEM7UUFBNUMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtJQUNoRSxDQUFDO0lBRUQsd0VBQXdFO0lBQ3hFLEtBQUssQ0FBQyxVQUFVLENBQUMsYUFBcUM7UUFDcEQsSUFBSyxVQUtKO1FBTEQsV0FBSyxVQUFVO1lBQ2IsK0NBQVUsQ0FBQTtZQUNWLCtDQUFVLENBQUE7WUFDViwyQ0FBVSxDQUFBO1lBQ1YsMkNBQVUsQ0FBQTtRQUNaLENBQUMsRUFMSSxVQUFVLEtBQVYsVUFBVSxRQUtkO1FBRUQsTUFBTSxTQUFTLEdBQXNCLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBYyxJQUFJLEVBQUUsUUFBUSxFQUFRLElBQUksRUFBRSxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUE7UUFDbEgsTUFBTSxTQUFTLEdBQXNCLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBYSxJQUFJLEVBQUUsT0FBTyxFQUFTLElBQUksRUFBRSxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUE7UUFDbEgsTUFBTSxPQUFPLEdBQXdCLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixFQUFFLElBQUksRUFBRSxVQUFVLEVBQU0sSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJLEVB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QUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQzlELENBQUM7QUFFRCxhQUFhO0FBQ2IsU0FBUyxZQUFZLENBQUksR0FBVztJQUNsQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7QUFDbEUsQ0FBQztBQUVELFNBQVMsb0JBQW9CLENBQUMsR0FBVztJQUN2QyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUN0RCxDQUFDO0FBRUQsU0FBUyxZQUFZLENBQUMsR0FBaUI7SUFDckMsSUFBRyxPQUFPLEdBQUcsSUFBSSxRQUFRLEVBQUMsQ0FBQztRQUN6QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3RCxDQUFDO1NBRUQsSUFBRyxPQUFPLEdBQUcsSUFBSSxRQUFRLEVBQUMsQ0FBQztRQUN6QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvblNoZWV0QnV0dG9uLCBBY3Rpb25TaGVldENvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XHJcbmltcG9ydCB7IEZpbGVQaWNrZXIsIFBpY2tGaWxlc1Jlc3VsdCwgUGlja2VkRmlsZSB9IGZyb20gJ0BjYXBhd2Vzb21lL2NhcGFjaXRvci1maWxlLXBpY2tlcic7XHJcbmltcG9ydCB7IE92ZXJsYXlFdmVudERldGFpbCB9IGZyb20gJ0Bpb25pYy9jb3JlJztcclxuaW1wb3J0IHsgQ2FtZXJhU291cmNlIH0gZnJvbSAnQGNhcGFjaXRvci9jYW1lcmEnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcclxuXHJcbmltcG9ydCB7IElucHV0RmlsZUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9jb21wb25lbnRzL2lucHV0cy9pbnB1dC1maWxlL2lucHV0LWZpbGUuY29uZmlndXJhdGlvbic7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVdGlsc1NlcnZpY2V7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYWN0aW9uU2hlZXRDb250cm9sbGVyOiBBY3Rpb25TaGVldENvbnRyb2xsZXIpIHtcclxuICB9XHJcblxyXG4gIC8qKiBSZXRvcm5hIHVtIGFycmF5IGRlIGFycXVpdm9zIGRlIGFjb3JkbyBjb20gbyB0aXBvIGRlIGNvbmZpZ3V0YcOnw6NvICovXHJcbiAgYXN5bmMgU2VsZWN0RmlsZShjb25maWd1cmF0aW9uOiBJbnB1dEZpbGVDb25maWd1cmF0aW9uKTogUHJvbWlzZTxGaWxlPntcclxuICAgIGVudW0gU2VsZWN0VHlwZSB7XHJcbiAgICAgIGNhbWVyYSA9IDEsXHJcbiAgICAgIGdhbGVyeSA9IDIsXHJcbiAgICAgIGZpbGUgICA9IDMsXHJcbiAgICAgIGRlbnkgICA9IDQsXHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgYnRuQ2FtZXJhOiBBY3Rpb25TaGVldEJ1dHRvbiA9IHsgdGV4dDogJ0PDom1lcmEnICAgICAgICAgICAgLCBpY29uOiAnY2FtZXJhJyAgICAgICwgZGF0YTogU2VsZWN0VHlwZS5jYW1lcmEgfVxyXG4gICAgY29uc3QgYnRuR2FsZXJ5OiBBY3Rpb25TaGVldEJ1dHRvbiA9IHsgdGV4dDogJ0dhbGVyaWEnICAgICAgICAgICAsIGljb246ICdpbWFnZScgICAgICAgLCBkYXRhOiBTZWxlY3RUeXBlLmdhbGVyeSB9XHJcbiAgICBjb25zdCBidG5GaWxlICA6IEFjdGlvblNoZWV0QnV0dG9uID0geyB0ZXh0OiAnU2VsZWNpb25hciBBcnF1aXZvJywgaWNvbjogJ2RvY3VtZW50JyAgICAsIGRhdGE6IFNlbGVjdFR5cGUuZmlsZSAgIH1cclxuICAgIGNvbnN0IGJ0bkRlbnkgIDogQWN0aW9uU2hlZXRCdXR0b24gPSB7IHRleHQ6ICdDYW5jZWxhcicgICAgICAgICAgLCBpY29uOiAnY2xvc2UtY2lyY2xlJywgZGF0YTogU2VsZWN0VHlwZS5kZW55LCByb2xlOiAnY2FuY2VsJywgfTtcclxuXHJcbiAgICBjb25zdCBpc0FwcCA9ICghZG9jdW1lbnQuVVJMLnN0YXJ0c1dpdGgoJ2h0dHAnKSB8fCBkb2N1bWVudC5VUkwuc3RhcnRzV2l0aCgnaHR0cDovL2xvY2FsaG9zdDo4MDgwJykpO1xyXG5cclxuICAgIHZhciBsc3RCdG46IGFueVtdID0gW107XHJcbiAgICBpZihpc0FwcCl7IFxyXG4gICAgICBsc3RCdG4ucHVzaChidG5DYW1lcmEpOyBcclxuICAgICAgbHN0QnRuLnB1c2goYnRuR2FsZXJ5KTtcclxuICAgIH1cclxuICAgIGxzdEJ0bi5wdXNoKGJ0bkZpbGUpO1xyXG4gICAgbHN0QnRuLnB1c2goYnRuRGVueSk7XHJcblxyXG4gICAgdmFyIHJlczogT3ZlcmxheUV2ZW50RGV0YWlsPGFueT47XHJcbiAgICBpZihsc3RCdG4ubGVuZ3RoID4gMil7XHJcbiAgICAgIGNvbnN0IGFjdGlvblNoZWV0ID0gYXdhaXQgdGhpcy5hY3Rpb25TaGVldENvbnRyb2xsZXIuY3JlYXRlKHsgYnV0dG9uczogbHN0QnRuIH0pO1xyXG4gICAgICBhY3Rpb25TaGVldC5wcmVzZW50KCk7XHJcbiAgICAgIHJlcyA9IGF3YWl0IGFjdGlvblNoZWV0Lm9uRGlkRGlzbWlzcygpO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHJlcyA9IHsgcm9sZTogJ2NvbmZpcm0nLCBkYXRhOiBsc3RCdG5bMF0uZGF0YSB9O1xyXG4gICAgfVxyXG5cclxuICAgIFxyXG4gICAgaWYoWydiYWNrZHJvcCcsICdjYW5jZWwnXS5pbmNsdWRlcyhyZXMucm9sZSkpeyByZXR1cm47IH1cclxuXHJcbiAgICBpZihbU2VsZWN0VHlwZS5jYW1lcmEsIFNlbGVjdFR5cGUuZ2FsZXJ5XS5pbmNsdWRlcyhyZXMuZGF0YSkpeyBcclxuICAgICAgY29uc3QgU291cmNlID0gcmVzLmRhdGEgPT0gU2VsZWN0VHlwZS5jYW1lcmEgPyBDYW1lcmFTb3VyY2UuQ2FtZXJhIDogQ2FtZXJhU291cmNlLlBob3Rvc1xyXG4gICAgICAvL2NvbnN0IHBob3RvID0gYXdhaXQgQ2FtZXJhLmdldFBob3RvKHsgcmVzdWx0VHlwZTogQ2FtZXJhUmVzdWx0VHlwZS5VcmksIHNvdXJjZTogU291cmNlLCBxdWFsaXR5OiAxMDAgfSk7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJbIFRPRE8gXVwiKVxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1lbHNle1xyXG4gICAgICBjb25zdCByZXM6IFByb21pc2U8UGlja0ZpbGVzUmVzdWx0PiA9IEZpbGVQaWNrZXIucGlja0ZpbGVzKHsgdHlwZXM6IGNvbmZpZ3VyYXRpb24udHlwZXMsIGxpbWl0OiAxIH0pO1xyXG4gICAgICBjb25zdCBmaWxlczogUGlja2VkRmlsZVtdID0gKGF3YWl0IHJlcykuZmlsZXM7XHJcbiAgICAgIHJldHVybiBmaWxlcy5tYXAocCA9PiA8RmlsZT5wLmJsb2IpWzBdO1xyXG4gICAgfVxyXG4gIH0gXHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBVdGlscyB7XHJcbiAgLyoqIENvbnZlcnRlIGRlIHVuaXggcGFyYSBEYXRlIG9iamVjdCAqL1xyXG4gIHN0YXRpYyBVTklYVG9EYXRlKHVuaXhfdGltZXN0YW1wOiBudW1iZXIpOiBEYXRlIHtcclxuICAgIHZhciBkYXRlID0gbmV3IERhdGUodW5peF90aW1lc3RhbXAgKiAxMDAwKTtcclxuICAgIHJldHVybiBkYXRlO1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiBAcGFyYW0gRGF0ZVN0ciAtIERhdGUgb24gSVNPIGZvcm1hdCwgZS5nOiBcclxuICAgKiBbIDIwMTAtMTAtMDVUMTQ6NDg6MDAuMDAwWiBdXHJcbiAgICogQHJldHVybnMgRGF0ZSBvbiBmb3JtYXQgREQvTU0vWVlZWVxyXG4gICovXHJcbiAgc3RhdGljIERhdGVJU09Ub0RETU1ZWVlZSEhNTShpc286IHN0cmluZywgb25JbnZhbGlkRGF0ZVN0cmluZzogc3RyaW5nID0gJy0nKTogc3RyaW5ne1xyXG4gICAgaWYoIWlzbyl7IHJldHVybiBvbkludmFsaWREYXRlU3RyaW5nOyB9XHJcbiAgICByZXR1cm4gbW9tZW50KGlzbykuZm9ybWF0KFwiREQvTU0vWVlZWSBISDptbVwiKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAgICogQHBhcmFtIGlzbyAtIERhdGUgb24gSVNPIGZvcm1hdCwgZS5nOiBcclxuICAgICAqIFsgMjAxMC0xMC0wNVQxNDo0ODowMC4wMDBaIF1cclxuICAgICAqIEByZXR1cm5zIERhdGUgb24gZm9ybWF0IEREL01NL1lZWVlcclxuICAgICovXHJcbiAgc3RhdGljIERhdGVJU09Ub0RETU1ZWVlZKGlzbzogc3RyaW5nLCBvbkludmFsaWREYXRlU3RyaW5nOiBzdHJpbmcgPSAnLScpOiBzdHJpbmd7XHJcbiAgICBpZighaXNvKXsgcmV0dXJuIG9uSW52YWxpZERhdGVTdHJpbmc7IH1cclxuICAgIHJldHVybiBtb21lbnQoaXNvKS5mb3JtYXQoXCJERC9NTS9ZWVlZXCIpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIEdlbmVyYXRlR1VJRCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICdpZC14eHh4eHh4eC14eHh4LTR4eHgteXh4eC14eHh4eHh4eHh4eHgnLnJlcGxhY2UoL1t4eV0vZywgZnVuY3Rpb24oYykge1xyXG4gICAgICB2YXIgciA9IE1hdGgucmFuZG9tKCkgKiAxNiB8IDAsXHJcbiAgICAgIHYgPSBjID09PSAneCcgPyByIDogKHIgJiAweDMgfCAweDgpO1xyXG4gICAgICByZXR1cm4gdi50b1N0cmluZygxNik7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKiBcclxuICAgKiBAcGFyYW0gZmlsZTogYmFzZTY0IHwgQmxvYlxyXG4gICAqL1xyXG4gIHN0YXRpYyBhc3luYyBEb3dubG9hZEZpbGUoZmlsZTogc3RyaW5nIHwgQmxvYiwgZmlsZU5hbWU6IHN0cmluZyl7XHJcbiAgICB2YXIgYmxvYjogQmxvYiA9IG51bGw7XHJcbiAgICBpZighKGZpbGUgaW5zdGFuY2VvZiBCbG9iKSl7XHJcbiAgICAgIGJsb2IgPSBhd2FpdCB0aGlzLkJhc2U2NFRvQmxvYihmaWxlKTtcclxuICAgIH1cclxuICAgIGVsc2V7IFxyXG4gICAgICBibG9iID0gZmlsZTsgXHJcbiAgICB9XHJcblxyXG4gICAgdmFyIGZpbGVVUkwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xyXG4gICAgY29uc3QgbGlua0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYVwiKTtcclxuICAgIGxpbmtFbGVtZW50LnNldEF0dHJpYnV0ZShcImhyZWZcIiwgZmlsZVVSTCk7XHJcbiAgICBsaW5rRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJ0YXJnZXRcIiwgXCJfYmxhbmtcIik7XHJcbiAgICBsaW5rRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJkb3dubG9hZFwiLCBmaWxlTmFtZSk7XHJcblxyXG4gICAgbGV0IG1lID0gbmV3IE1vdXNlRXZlbnQoXCJjbGlja1wiLCB7XHJcbiAgICAgIHZpZXc6IHdpbmRvdyxcclxuICAgICAgYnViYmxlczogdHJ1ZSxcclxuICAgICAgY2FuY2VsYWJsZTogZmFsc2UsXHJcbiAgICB9KTtcclxuXHJcbiAgICBsaW5rRWxlbWVudC5kaXNwYXRjaEV2ZW50KG1lKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBhc3luYyBCYXNlNjRUb0Jsb2IoYmFzZTY0OiBzdHJpbmcpOiBQcm9taXNlPEJsb2I+e1xyXG4gICAgcmV0dXJuIChhd2FpdCBmZXRjaChiYXNlNjQpKS5ibG9iKCk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gU2VhcmNoPFQgPSBhbnk+KGl0ZW1zOiBUW10sIFNlYXJjaDogc3RyaW5nLCBiaW5kTGFiZWw6ICgob2JqOiBUKSA9PiBzdHJpbmcpKTogVFtdIHtcclxuICByZXR1cm4gaXRlbXMuZmlsdGVyKHAgPT4gYmluZExhYmVsKHApPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKFNlYXJjaC50b0xvd2VyQ2FzZSgpKSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBUaW1lb3V0KHRpbWVvdXQ6IG51bWJlcik6IFByb21pc2U8dm9pZD57XHJcbiAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCB0aW1lb3V0KSk7XHJcbn1cclxuXHJcbi8vWyBCYXNlIDY0IF1cclxuZnVuY3Rpb24gRGVjb2RlQmFzZTY0PFQ+KGI2NDogc3RyaW5nKTogVHtcclxuICByZXR1cm4gSlNPTi5wYXJzZShCdWZmZXIuZnJvbShiNjQsICdiYXNlNjQnKS50b1N0cmluZygndXRmLTgnKSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIERlY29kZUJhc2U2NEFzU3RyaW5nKGI2NDogc3RyaW5nKSB7XHJcbiAgcmV0dXJuIEJ1ZmZlci5mcm9tKGI2NCwgJ2Jhc2U2NCcpLnRvU3RyaW5nKCd1dGYtOCcpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBFbmNvZGVCYXNlNjQob2JqOiBhbnkgfCBzdHJpbmcpOiBzdHJpbmd7XHJcbiAgaWYodHlwZW9mIG9iaiA9PSBcIm9iamVjdFwiKXtcclxuICAgIHJldHVybiBCdWZmZXIuZnJvbShKU09OLnN0cmluZ2lmeShvYmopKS50b1N0cmluZygnYmFzZTY0Jyk7XHJcbiAgfVxyXG4gIGVsc2VcclxuICBpZih0eXBlb2Ygb2JqID09IFwic3RyaW5nXCIpe1xyXG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKG9iaikudG9TdHJpbmcoJ2Jhc2U2NCcpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IElOVF9NQVggPSAyXzE0N180ODNfNjQ2OyJdfQ==
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvdXRpbHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBK0IsTUFBTSxtQ0FBbUMsQ0FBQztBQUU1RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVoQyxPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7OztBQUt4QixNQUFNLE9BQU8sWUFBWTtJQUV2QixZQUFvQixxQkFBNEM7UUFBNUMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtJQUNoRSxDQUFDO0lBRUQsd0VBQXdFO0lBQ3hFLEtBQUssQ0FBQyxVQUFVLENBQUMsYUFBcUM7UUFDcEQsSUFBSyxVQUtKO1FBTEQsV0FBSyxVQUFVO1lBQ2IsK0NBQVUsQ0FBQTtZQUNWLCtDQUFVLENBQUE7WUFDViwyQ0FBVSxDQUFBO1lBQ1YsMkNBQVUsQ0FBQTtRQUNaLENBQUMsRUFMSSxVQUFVLEtBQVYsVUFBVSxRQUtkO1FBRUQsTUFBTSxTQUFTLEdBQXNCLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBYyxJQUFJLEVBQUUsUUFBUSxFQUFRLElBQUksRUFBRSxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUE7UUFDbEgsTUFBTSxTQUFTLEdBQXNCLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBYSxJQUFJLEVBQUUsT0FBTyxFQUFTLElBQUksRUFBRSxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUE7UUFDbEgsTUFBTSxPQUFPLEdBQXdCLEVB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QUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0QsQ0FBQztTQUVELElBQUcsT0FBTyxHQUFHLElBQUksUUFBUSxFQUFDLENBQUM7UUFDekIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3QyxDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb25TaGVldEJ1dHRvbiwgQWN0aW9uU2hlZXRDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xyXG5pbXBvcnQgeyBGaWxlUGlja2VyLCBQaWNrRmlsZXNSZXN1bHQsIFBpY2tlZEZpbGUgfSBmcm9tICdAY2FwYXdlc29tZS9jYXBhY2l0b3ItZmlsZS1waWNrZXInO1xyXG5pbXBvcnQgeyBPdmVybGF5RXZlbnREZXRhaWwgfSBmcm9tICdAaW9uaWMvY29yZSc7XHJcbmltcG9ydCB7IENhbWVyYVNvdXJjZSB9IGZyb20gJ0BjYXBhY2l0b3IvY2FtZXJhJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XHJcbmltcG9ydCB7IEJ1ZmZlciB9IGZyb20gJ2J1ZmZlcic7XHJcbmltcG9ydCB7IElucHV0RmlsZUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9jb21wb25lbnRzL2lucHV0cy9pbnB1dC1maWxlL2lucHV0LWZpbGUuY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCBtaW1lIGZyb20gJ21pbWUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVXRpbHNTZXJ2aWNle1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFjdGlvblNoZWV0Q29udHJvbGxlcjogQWN0aW9uU2hlZXRDb250cm9sbGVyKSB7XHJcbiAgfVxyXG5cclxuICAvKiogUmV0b3JuYSB1bSBhcnJheSBkZSBhcnF1aXZvcyBkZSBhY29yZG8gY29tIG8gdGlwbyBkZSBjb25maWd1dGHDp8OjbyAqL1xyXG4gIGFzeW5jIFNlbGVjdEZpbGUoY29uZmlndXJhdGlvbjogSW5wdXRGaWxlQ29uZmlndXJhdGlvbik6IFByb21pc2U8RmlsZT57XHJcbiAgICBlbnVtIFNlbGVjdFR5cGUge1xyXG4gICAgICBjYW1lcmEgPSAxLFxyXG4gICAgICBnYWxlcnkgPSAyLFxyXG4gICAgICBmaWxlICAgPSAzLFxyXG4gICAgICBkZW55ICAgPSA0LFxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGJ0bkNhbWVyYTogQWN0aW9uU2hlZXRCdXR0b24gPSB7IHRleHQ6ICdDw6JtZXJhJyAgICAgICAgICAgICwgaWNvbjogJ2NhbWVyYScgICAgICAsIGRhdGE6IFNlbGVjdFR5cGUuY2FtZXJhIH1cclxuICAgIGNvbnN0IGJ0bkdhbGVyeTogQWN0aW9uU2hlZXRCdXR0b24gPSB7IHRleHQ6ICdHYWxlcmlhJyAgICAgICAgICAgLCBpY29uOiAnaW1hZ2UnICAgICAgICwgZGF0YTogU2VsZWN0VHlwZS5nYWxlcnkgfVxyXG4gICAgY29uc3QgYnRuRmlsZSAgOiBBY3Rpb25TaGVldEJ1dHRvbiA9IHsgdGV4dDogJ1NlbGVjaW9uYXIgQXJxdWl2bycsIGljb246ICdkb2N1bWVudCcgICAgLCBkYXRhOiBTZWxlY3RUeXBlLmZpbGUgICB9XHJcbiAgICBjb25zdCBidG5EZW55ICA6IEFjdGlvblNoZWV0QnV0dG9uID0geyB0ZXh0OiAnQ2FuY2VsYXInICAgICAgICAgICwgaWNvbjogJ2Nsb3NlLWNpcmNsZScsIGRhdGE6IFNlbGVjdFR5cGUuZGVueSwgcm9sZTogJ2NhbmNlbCcsIH07XHJcblxyXG4gICAgY29uc3QgaXNBcHAgPSAoIWRvY3VtZW50LlVSTC5zdGFydHNXaXRoKCdodHRwJykgfHwgZG9jdW1lbnQuVVJMLnN0YXJ0c1dpdGgoJ2h0dHA6Ly9sb2NhbGhvc3Q6ODA4MCcpKTtcclxuXHJcbiAgICB2YXIgbHN0QnRuOiBhbnlbXSA9IFtdO1xyXG4gICAgaWYoaXNBcHApeyBcclxuICAgICAgbHN0QnRuLnB1c2goYnRuQ2FtZXJhKTsgXHJcbiAgICAgIGxzdEJ0bi5wdXNoKGJ0bkdhbGVyeSk7XHJcbiAgICB9XHJcbiAgICBsc3RCdG4ucHVzaChidG5GaWxlKTtcclxuICAgIGxzdEJ0bi5wdXNoKGJ0bkRlbnkpO1xyXG5cclxuICAgIHZhciByZXM6IE92ZXJsYXlFdmVudERldGFpbDxhbnk+O1xyXG4gICAgaWYobHN0QnRuLmxlbmd0aCA+IDIpe1xyXG4gICAgICBjb25zdCBhY3Rpb25TaGVldCA9IGF3YWl0IHRoaXMuYWN0aW9uU2hlZXRDb250cm9sbGVyLmNyZWF0ZSh7IGJ1dHRvbnM6IGxzdEJ0biB9KTtcclxuICAgICAgYWN0aW9uU2hlZXQucHJlc2VudCgpO1xyXG4gICAgICByZXMgPSBhd2FpdCBhY3Rpb25TaGVldC5vbkRpZERpc21pc3MoKTtcclxuICAgIH1lbHNle1xyXG4gICAgICByZXMgPSB7IHJvbGU6ICdjb25maXJtJywgZGF0YTogbHN0QnRuWzBdLmRhdGEgfTtcclxuICAgIH1cclxuXHJcbiAgICBcclxuICAgIGlmKFsnYmFja2Ryb3AnLCAnY2FuY2VsJ10uaW5jbHVkZXMocmVzLnJvbGUpKXsgcmV0dXJuOyB9XHJcblxyXG4gICAgaWYoW1NlbGVjdFR5cGUuY2FtZXJhLCBTZWxlY3RUeXBlLmdhbGVyeV0uaW5jbHVkZXMocmVzLmRhdGEpKXsgXHJcbiAgICAgIGNvbnN0IFNvdXJjZSA9IHJlcy5kYXRhID09IFNlbGVjdFR5cGUuY2FtZXJhID8gQ2FtZXJhU291cmNlLkNhbWVyYSA6IENhbWVyYVNvdXJjZS5QaG90b3NcclxuICAgICAgLy9jb25zdCBwaG90byA9IGF3YWl0IENhbWVyYS5nZXRQaG90byh7IHJlc3VsdFR5cGU6IENhbWVyYVJlc3VsdFR5cGUuVXJpLCBzb3VyY2U6IFNvdXJjZSwgcXVhbGl0eTogMTAwIH0pO1xyXG4gICAgICBjb25zb2xlLmVycm9yKFwiWyBUT0RPIF1cIilcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgY29uc3QgcmVzOiBQcm9taXNlPFBpY2tGaWxlc1Jlc3VsdD4gPSBGaWxlUGlja2VyLnBpY2tGaWxlcyh7IHR5cGVzOiBjb25maWd1cmF0aW9uLnR5cGVzLCBsaW1pdDogMSB9KTtcclxuICAgICAgY29uc3QgZmlsZXM6IFBpY2tlZEZpbGVbXSA9IChhd2FpdCByZXMpLmZpbGVzO1xyXG4gICAgICByZXR1cm4gZmlsZXMubWFwKHAgPT4gPEZpbGU+cC5ibG9iKVswXTtcclxuICAgIH1cclxuICB9IFxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgVXRpbHMge1xyXG4gIC8qKiBDb252ZXJ0ZSBkZSB1bml4IHBhcmEgRGF0ZSBvYmplY3QgKi9cclxuICBzdGF0aWMgVU5JWFRvRGF0ZSh1bml4X3RpbWVzdGFtcDogbnVtYmVyKTogRGF0ZSB7XHJcbiAgICB2YXIgZGF0ZSA9IG5ldyBEYXRlKHVuaXhfdGltZXN0YW1wICogMTAwMCk7XHJcbiAgICByZXR1cm4gZGF0ZTtcclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogQHBhcmFtIERhdGVTdHIgLSBEYXRlIG9uIElTTyBmb3JtYXQsIGUuZzogXHJcbiAgICogWyAyMDEwLTEwLTA1VDE0OjQ4OjAwLjAwMFogXVxyXG4gICAqIEByZXR1cm5zIERhdGUgb24gZm9ybWF0IEREL01NL1lZWVlcclxuICAqL1xyXG4gIHN0YXRpYyBEYXRlSVNPVG9ERE1NWVlZWUhITU0oaXNvOiBzdHJpbmcsIG9uSW52YWxpZERhdGVTdHJpbmc6IHN0cmluZyA9ICctJyk6IHN0cmluZ3tcclxuICAgIGlmKCFpc28peyByZXR1cm4gb25JbnZhbGlkRGF0ZVN0cmluZzsgfVxyXG4gICAgcmV0dXJuIG1vbWVudChpc28pLmZvcm1hdChcIkREL01NL1lZWVkgSEg6bW1cIik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgICAqIEBwYXJhbSBpc28gLSBEYXRlIG9uIElTTyBmb3JtYXQsIGUuZzogXHJcbiAgICAgKiBbIDIwMTAtMTAtMDVUMTQ6NDg6MDAuMDAwWiBdXHJcbiAgICAgKiBAcmV0dXJucyBEYXRlIG9uIGZvcm1hdCBERC9NTS9ZWVlZXHJcbiAgICAqL1xyXG4gIHN0YXRpYyBEYXRlSVNPVG9ERE1NWVlZWShpc286IHN0cmluZywgb25JbnZhbGlkRGF0ZVN0cmluZzogc3RyaW5nID0gJy0nKTogc3RyaW5ne1xyXG4gICAgaWYoIWlzbyl7IHJldHVybiBvbkludmFsaWREYXRlU3RyaW5nOyB9XHJcbiAgICByZXR1cm4gbW9tZW50KGlzbykuZm9ybWF0KFwiREQvTU0vWVlZWVwiKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBHZW5lcmF0ZUdVSUQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiAnaWQteHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4Jy5yZXBsYWNlKC9beHldL2csIGZ1bmN0aW9uKGMpIHtcclxuICAgICAgdmFyIHIgPSBNYXRoLnJhbmRvbSgpICogMTYgfCAwLFxyXG4gICAgICB2ID0gYyA9PT0gJ3gnID8gciA6IChyICYgMHgzIHwgMHg4KTtcclxuICAgICAgcmV0dXJuIHYudG9TdHJpbmcoMTYpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKiogXHJcbiAgICogQHBhcmFtIGZpbGU6IGJhc2U2NCB8IEJsb2JcclxuICAgKi9cclxuICBzdGF0aWMgYXN5bmMgRG93bmxvYWRGaWxlKGZpbGU6IHN0cmluZyB8IEJsb2IsIGZpbGVOYW1lOiBzdHJpbmcpe1xyXG4gICAgdmFyIGJsb2I6IEJsb2IgPSBudWxsO1xyXG4gICAgaWYoIShmaWxlIGluc3RhbmNlb2YgQmxvYikpe1xyXG4gICAgICBibG9iID0gYXdhaXQgVXRpbHMuQmFzZTY0VG9CbG9iKGZpbGUsIFV0aWxzLkZpbmRNaW1lRnJvbU5hbWVPckV4dGVuc2lvbihmaWxlTmFtZSkpO1xyXG4gICAgfVxyXG4gICAgZWxzZXsgXHJcbiAgICAgIGJsb2IgPSBmaWxlOyBcclxuICAgIH1cclxuXHJcbiAgICB2YXIgZmlsZVVSTCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XHJcbiAgICBjb25zdCBsaW5rRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJhXCIpO1xyXG4gICAgbGlua0VsZW1lbnQuc2V0QXR0cmlidXRlKFwiaHJlZlwiLCBmaWxlVVJMKTtcclxuICAgIGxpbmtFbGVtZW50LnNldEF0dHJpYnV0ZShcInRhcmdldFwiLCBcIl9ibGFua1wiKTtcclxuICAgIGxpbmtFbGVtZW50LnNldEF0dHJpYnV0ZShcImRvd25sb2FkXCIsIGZpbGVOYW1lKTtcclxuXHJcbiAgICBsZXQgbWUgPSBuZXcgTW91c2VFdmVudChcImNsaWNrXCIsIHtcclxuICAgICAgdmlldzogd2luZG93LFxyXG4gICAgICBidWJibGVzOiB0cnVlLFxyXG4gICAgICBjYW5jZWxhYmxlOiBmYWxzZSxcclxuICAgIH0pO1xyXG5cclxuICAgIGxpbmtFbGVtZW50LmRpc3BhdGNoRXZlbnQobWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBhc3luYyBCbG9iVG9CYXNlNjQoYmxvYjogQmxvYik6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICBjb25zdCBhYiA9IGF3YWl0IGJsb2IuYXJyYXlCdWZmZXIoKTtcclxuICAgIHJldHVybiBCdWZmZXIuZnJvbShhYikudG9TdHJpbmcoXCJiYXNlNjRcIik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGFzeW5jIEJhc2U2NFRvQmxvYihiYXNlNjQ6IHN0cmluZywgbWltZVR5cGU6IHN0cmluZyk6IFByb21pc2U8QmxvYj4ge1xyXG4gICAgcmV0dXJuIG5ldyBCbG9iKFtCdWZmZXIuZnJvbShiYXNlNjQsIFwiYmFzZTY0XCIpXSwgeyB0eXBlOiBtaW1lVHlwZSB9KVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIEZpbmRNaW1lRnJvbU5hbWVPckV4dGVuc2lvbihwYXRoT3JFeHRlbnNpb246IHN0cmluZyl7XHJcbiAgICByZXR1cm4gbWltZS5nZXRUeXBlKHBhdGhPckV4dGVuc2lvbikgfHwgJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSc7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gU2VhcmNoPFQgPSBhbnk+KGl0ZW1zOiBUW10sIFNlYXJjaDogc3RyaW5nLCBiaW5kTGFiZWw6ICgob2JqOiBUKSA9PiBzdHJpbmcpKTogVFtdIHtcclxuICByZXR1cm4gaXRlbXMuZmlsdGVyKHAgPT4gYmluZExhYmVsKHApPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKFNlYXJjaC50b0xvd2VyQ2FzZSgpKSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBUaW1lb3V0KHRpbWVvdXQ6IG51bWJlcik6IFByb21pc2U8dm9pZD57XHJcbiAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCB0aW1lb3V0KSk7XHJcbn1cclxuXHJcbi8vWyBCYXNlIDY0IF1cclxuZnVuY3Rpb24gRGVjb2RlQmFzZTY0PFQ+KGI2NDogc3RyaW5nKTogVHtcclxuICByZXR1cm4gSlNPTi5wYXJzZShCdWZmZXIuZnJvbShiNjQsICdiYXNlNjQnKS50b1N0cmluZygndXRmLTgnKSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIERlY29kZUJhc2U2NEFzU3RyaW5nKGI2NDogc3RyaW5nKSB7XHJcbiAgcmV0dXJuIEJ1ZmZlci5mcm9tKGI2NCwgJ2Jhc2U2NCcpLnRvU3RyaW5nKCd1dGYtOCcpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBFbmNvZGVCYXNlNjQob2JqOiBhbnkgfCBzdHJpbmcpOiBzdHJpbmd7XHJcbiAgaWYodHlwZW9mIG9iaiA9PSBcIm9iamVjdFwiKXtcclxuICAgIHJldHVybiBCdWZmZXIuZnJvbShKU09OLnN0cmluZ2lmeShvYmopKS50b1N0cmluZygnYmFzZTY0Jyk7XHJcbiAgfVxyXG4gIGVsc2VcclxuICBpZih0eXBlb2Ygb2JqID09IFwic3RyaW5nXCIpe1xyXG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKG9iaikudG9TdHJpbmcoJ2Jhc2U2NCcpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IElOVF9NQVggPSAyXzE0N180ODNfNjQ2OyJdfQ==
|
|
@@ -5,6 +5,8 @@ import { CameraSource } from '@capacitor/camera';
|
|
|
5
5
|
import * as i0 from '@angular/core';
|
|
6
6
|
import { Injectable, InjectionToken, NgModule, Inject, inject, signal, model, Component, Input, Pipe, input, computed, effect, contentChildren, output, forwardRef, ContentChildren, EventEmitter, Output, HostListener, ViewChild, Directive, ElementRef, TemplateRef, ChangeDetectionStrategy, ContentChild, ViewChildren, HostBinding, ViewContainerRef } from '@angular/core';
|
|
7
7
|
import moment from 'moment';
|
|
8
|
+
import { Buffer } from 'buffer';
|
|
9
|
+
import mime from 'mime';
|
|
8
10
|
import { BehaviorSubject, firstValueFrom, from, switchMap, Subject, takeUntil, distinctUntilChanged, debounceTime, lastValueFrom, Observable, tap, finalize, share, catchError } from 'rxjs';
|
|
9
11
|
import * as i1$1 from '@angular/common/http';
|
|
10
12
|
import { HttpClient, HttpEventType, HttpHeaders } from '@angular/common/http';
|
|
@@ -412,7 +414,7 @@ class Utils {
|
|
|
412
414
|
static async DownloadFile(file, fileName) {
|
|
413
415
|
var blob = null;
|
|
414
416
|
if (!(file instanceof Blob)) {
|
|
415
|
-
blob = await
|
|
417
|
+
blob = await Utils.Base64ToBlob(file, Utils.FindMimeFromNameOrExtension(fileName));
|
|
416
418
|
}
|
|
417
419
|
else {
|
|
418
420
|
blob = file;
|
|
@@ -429,8 +431,15 @@ class Utils {
|
|
|
429
431
|
});
|
|
430
432
|
linkElement.dispatchEvent(me);
|
|
431
433
|
}
|
|
432
|
-
static async
|
|
433
|
-
|
|
434
|
+
static async BlobToBase64(blob) {
|
|
435
|
+
const ab = await blob.arrayBuffer();
|
|
436
|
+
return Buffer.from(ab).toString("base64");
|
|
437
|
+
}
|
|
438
|
+
static async Base64ToBlob(base64, mimeType) {
|
|
439
|
+
return new Blob([Buffer.from(base64, "base64")], { type: mimeType });
|
|
440
|
+
}
|
|
441
|
+
static FindMimeFromNameOrExtension(pathOrExtension) {
|
|
442
|
+
return mime.getType(pathOrExtension) || 'application/octet-stream';
|
|
434
443
|
}
|
|
435
444
|
}
|
|
436
445
|
function Search(items, Search, bindLabel) {
|