@sapphire-ion/framework 1.2.21 → 1.2.23
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.
|
@@ -2,11 +2,10 @@ import { ActionSheetController } from '@ionic/angular';
|
|
|
2
2
|
import { FilePicker } from '@capawesome/capacitor-file-picker';
|
|
3
3
|
import { Camera, CameraResultType, CameraSource } from '@capacitor/camera';
|
|
4
4
|
import { Injectable } from '@angular/core';
|
|
5
|
-
import { Capacitor } from '@capacitor/core';
|
|
6
5
|
import moment from 'moment';
|
|
7
6
|
import { Buffer } from 'buffer';
|
|
8
7
|
import mime from 'mime';
|
|
9
|
-
import {
|
|
8
|
+
import { Capacitor } from '@capacitor/core';
|
|
10
9
|
import * as i0 from "@angular/core";
|
|
11
10
|
import * as i1 from "@ionic/angular";
|
|
12
11
|
export class UtilsService {
|
|
@@ -139,17 +138,28 @@ export class Utils {
|
|
|
139
138
|
source: source,
|
|
140
139
|
quality: quality
|
|
141
140
|
});
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
141
|
+
const file = await fetch(ph.webPath);
|
|
142
|
+
const blob = await file.blob();
|
|
143
|
+
return { blob, fileName: ph.path.split('/').at(-1) };
|
|
144
|
+
}
|
|
145
|
+
static async PickFile(options) {
|
|
146
|
+
const Pick = await FilePicker.pickFiles(options);
|
|
147
|
+
let lstBlob = Pick.files.map(async (vFile) => {
|
|
148
|
+
let blob = null;
|
|
149
|
+
if (Capacitor.isNativePlatform()) {
|
|
150
|
+
blob = new Blob([await (await fetch(Capacitor.convertFileSrc(vFile.path))).blob()], { type: vFile.mimeType });
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
blob = vFile.blob;
|
|
154
|
+
}
|
|
155
|
+
return {
|
|
156
|
+
blob,
|
|
157
|
+
mimeType: vFile.mimeType,
|
|
158
|
+
name: vFile.name,
|
|
159
|
+
size: vFile.size,
|
|
160
|
+
};
|
|
161
|
+
});
|
|
162
|
+
return Promise.all(lstBlob);
|
|
153
163
|
}
|
|
154
164
|
static FindMimeFromNameOrExtension(pathOrExtension) {
|
|
155
165
|
return mime.getType(pathOrExtension) || 'application/octet-stream';
|
|
@@ -177,4 +187,4 @@ function EncodeBase64(obj) {
|
|
|
177
187
|
}
|
|
178
188
|
}
|
|
179
189
|
export const INT_MAX = 2_147_483_646;
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvdXRpbHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBK0IsTUFBTSxtQ0FBbUMsQ0FBQztBQUM1RixPQUFPLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTNFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2hDLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUN4QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUE7OztBQU9sRCxNQUFNLE9BQU8sWUFBWTtJQUV2QixZQUFvQixxQkFBNEM7UUFBNUMsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtJQUNoRSxDQUFDO0lBRUQsd0VBQXdFO0lBQ3hFLEtBQUssQ0FBQyxVQUFVLENBQUMsYUFBcUM7UUFDcEQsSUFBSyxVQUtKO1FBTEQsV0FBSyxVQUFVO1lBQ2IsK0NBQVUsQ0FBQTtZQUNWLCtDQUFVLENBQUE7WUFDViwyQ0FBVSxDQUFBO1lBQ1YsMkNBQVUsQ0FBQTtRQUNaLENBQUMsRUFMSSxVQUFVLEtBQVYsVUFBVSxRQUtkO1FBRUQsTUFBTSxTQUFTLEdBQXNCLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBYyxJQUFJLEVBQUUsUUFBUSxFQUFRLElBQUksRUFBRSxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUE7UUFDbEgsTUFBTSxTQUFTLEdB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QU8sQ0FBQyxDQUFDO0FBQ3RELENBQUM7QUFFRCxTQUFTLFlBQVksQ0FBQyxHQUFpQjtJQUNyQyxJQUFHLE9BQU8sR0FBRyxJQUFJLFFBQVEsRUFBQyxDQUFDO1FBQ3pCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdELENBQUM7U0FFRCxJQUFHLE9BQU8sR0FBRyxJQUFJLFFBQVEsRUFBQyxDQUFDO1FBQ3pCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0MsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uU2hlZXRCdXR0b24sIEFjdGlvblNoZWV0Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcclxuaW1wb3J0IHsgRmlsZVBpY2tlciwgUGlja0ZpbGVzUmVzdWx0LCBQaWNrZWRGaWxlIH0gZnJvbSAnQGNhcGF3ZXNvbWUvY2FwYWNpdG9yLWZpbGUtcGlja2VyJztcclxuaW1wb3J0IHsgQ2FtZXJhLCBDYW1lcmFSZXN1bHRUeXBlLCBDYW1lcmFTb3VyY2UgfSBmcm9tICdAY2FwYWNpdG9yL2NhbWVyYSc7XHJcbmltcG9ydCB7IE92ZXJsYXlFdmVudERldGFpbCB9IGZyb20gJ0Bpb25pYy9jb3JlJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDYXBhY2l0b3IgfSBmcm9tICdAY2FwYWNpdG9yL2NvcmUnO1xyXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XHJcbmltcG9ydCB7IEJ1ZmZlciB9IGZyb20gJ2J1ZmZlcic7XHJcbmltcG9ydCBtaW1lIGZyb20gJ21pbWUnO1xyXG5pbXBvcnQgeyBGaWxlc3lzdGVtIH0gZnJvbSAnQGNhcGFjaXRvci9maWxlc3lzdGVtJ1xyXG5cclxuaW1wb3J0IHsgSW5wdXRGaWxlQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uL2NvbXBvbmVudHMvaW5wdXRzL2lucHV0LWZpbGUvaW5wdXQtZmlsZS5jb25maWd1cmF0aW9uJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFV0aWxzU2VydmljZXtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhY3Rpb25TaGVldENvbnRyb2xsZXI6IEFjdGlvblNoZWV0Q29udHJvbGxlcikge1xyXG4gIH1cclxuXHJcbiAgLyoqIFJldG9ybmEgdW0gYXJyYXkgZGUgYXJxdWl2b3MgZGUgYWNvcmRvIGNvbSBvIHRpcG8gZGUgY29uZmlndXRhw6fDo28gKi9cclxuICBhc3luYyBTZWxlY3RGaWxlKGNvbmZpZ3VyYXRpb246IElucHV0RmlsZUNvbmZpZ3VyYXRpb24pOiBQcm9taXNlPEZpbGU+e1xyXG4gICAgZW51bSBTZWxlY3RUeXBlIHtcclxuICAgICAgY2FtZXJhID0gMSxcclxuICAgICAgZ2FsZXJ5ID0gMixcclxuICAgICAgZmlsZSAgID0gMyxcclxuICAgICAgZGVueSAgID0gNCxcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBidG5DYW1lcmE6IEFjdGlvblNoZWV0QnV0dG9uID0geyB0ZXh0OiAnQ8OibWVyYScgICAgICAgICAgICAsIGljb246ICdjYW1lcmEnICAgICAgLCBkYXRhOiBTZWxlY3RUeXBlLmNhbWVyYSB9XHJcbiAgICBjb25zdCBidG5HYWxlcnk6IEFjdGlvblNoZWV0QnV0dG9uID0geyB0ZXh0OiAnR2FsZXJpYScgICAgICAgICAgICwgaWNvbjogJ2ltYWdlJyAgICAgICAsIGRhdGE6IFNlbGVjdFR5cGUuZ2FsZXJ5IH1cclxuICAgIGNvbnN0IGJ0bkZpbGUgIDogQWN0aW9uU2hlZXRCdXR0b24gPSB7IHRleHQ6ICdTZWxlY2lvbmFyIEFycXVpdm8nLCBpY29uOiAnZG9jdW1lbnQnICAgICwgZGF0YTogU2VsZWN0VHlwZS5maWxlICAgfVxyXG4gICAgY29uc3QgYnRuRGVueSAgOiBBY3Rpb25TaGVldEJ1dHRvbiA9IHsgdGV4dDogJ0NhbmNlbGFyJyAgICAgICAgICAsIGljb246ICdjbG9zZS1jaXJjbGUnLCBkYXRhOiBTZWxlY3RUeXBlLmRlbnksIHJvbGU6ICdjYW5jZWwnLCB9O1xyXG5cclxuICAgIGNvbnN0IGlzQXBwID0gKCFkb2N1bWVudC5VUkwuc3RhcnRzV2l0aCgnaHR0cCcpIHx8IGRvY3VtZW50LlVSTC5zdGFydHNXaXRoKCdodHRwOi8vbG9jYWxob3N0OjgwODAnKSk7XHJcblxyXG4gICAgdmFyIGxzdEJ0bjogYW55W10gPSBbXTtcclxuICAgIGlmKGlzQXBwKXsgXHJcbiAgICAgIGxzdEJ0bi5wdXNoKGJ0bkNhbWVyYSk7IFxyXG4gICAgICBsc3RCdG4ucHVzaChidG5HYWxlcnkpO1xyXG4gICAgfVxyXG4gICAgbHN0QnRuLnB1c2goYnRuRmlsZSk7XHJcbiAgICBsc3RCdG4ucHVzaChidG5EZW55KTtcclxuXHJcbiAgICB2YXIgcmVzOiBPdmVybGF5RXZlbnREZXRhaWw8YW55PjtcclxuICAgIGlmKGxzdEJ0bi5sZW5ndGggPiAyKXtcclxuICAgICAgY29uc3QgYWN0aW9uU2hlZXQgPSBhd2FpdCB0aGlzLmFjdGlvblNoZWV0Q29udHJvbGxlci5jcmVhdGUoeyBidXR0b25zOiBsc3RCdG4gfSk7XHJcbiAgICAgIGFjdGlvblNoZWV0LnByZXNlbnQoKTtcclxuICAgICAgcmVzID0gYXdhaXQgYWN0aW9uU2hlZXQub25EaWREaXNtaXNzKCk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgcmVzID0geyByb2xlOiAnY29uZmlybScsIGRhdGE6IGxzdEJ0blswXS5kYXRhIH07XHJcbiAgICB9XHJcblxyXG4gICAgXHJcbiAgICBpZihbJ2JhY2tkcm9wJywgJ2NhbmNlbCddLmluY2x1ZGVzKHJlcy5yb2xlKSl7IHJldHVybjsgfVxyXG5cclxuICAgIGlmKFtTZWxlY3RUeXBlLmNhbWVyYSwgU2VsZWN0VHlwZS5nYWxlcnldLmluY2x1ZGVzKHJlcy5kYXRhKSl7IFxyXG4gICAgICBjb25zdCBTb3VyY2UgPSByZXMuZGF0YSA9PSBTZWxlY3RUeXBlLmNhbWVyYSA/IENhbWVyYVNvdXJjZS5DYW1lcmEgOiBDYW1lcmFTb3VyY2UuUGhvdG9zXHJcbiAgICAgIC8vY29uc3QgcGhvdG8gPSBhd2FpdCBDYW1lcmEuZ2V0UGhvdG8oeyByZXN1bHRUeXBlOiBDYW1lcmFSZXN1bHRUeXBlLlVyaSwgc291cmNlOiBTb3VyY2UsIHF1YWxpdHk6IDEwMCB9KTtcclxuICAgICAgY29uc29sZS5lcnJvcihcIlsgVE9ETyBdXCIpXHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIGNvbnN0IHJlczogUHJvbWlzZTxQaWNrRmlsZXNSZXN1bHQ+ID0gRmlsZVBpY2tlci5waWNrRmlsZXMoeyB0eXBlczogY29uZmlndXJhdGlvbi50eXBlcywgbGltaXQ6IDEgfSk7XHJcbiAgICAgIGNvbnN0IGZpbGVzOiBQaWNrZWRGaWxlW10gPSAoYXdhaXQgcmVzKS5maWxlcztcclxuICAgICAgcmV0dXJuIGZpbGVzLm1hcChwID0+IDxGaWxlPnAuYmxvYilbMF07XHJcbiAgICB9XHJcbiAgfSBcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFV0aWxzIHtcclxuICAvKiogQ29udmVydGUgZGUgdW5peCBwYXJhIERhdGUgb2JqZWN0ICovXHJcbiAgc3RhdGljIFVOSVhUb0RhdGUodW5peF90aW1lc3RhbXA6IG51bWJlcik6IERhdGUge1xyXG4gICAgdmFyIGRhdGUgPSBuZXcgRGF0ZSh1bml4X3RpbWVzdGFtcCAqIDEwMDApO1xyXG4gICAgcmV0dXJuIGRhdGU7XHJcbiAgfVxyXG4gIFxyXG4gIC8qKlxyXG4gICAqIEBwYXJhbSBEYXRlU3RyIC0gRGF0ZSBvbiBJU08gZm9ybWF0LCBlLmc6IFxyXG4gICAqIFsgMjAxMC0xMC0wNVQxNDo0ODowMC4wMDBaIF1cclxuICAgKiBAcmV0dXJucyBEYXRlIG9uIGZvcm1hdCBERC9NTS9ZWVlZXHJcbiAgKi9cclxuICBzdGF0aWMgRGF0ZUlTT1RvRERNTVlZWVlISE1NKGlzbzogc3RyaW5nLCBvbkludmFsaWREYXRlU3RyaW5nOiBzdHJpbmcgPSAnLScpOiBzdHJpbmd7XHJcbiAgICBpZighaXNvKXsgcmV0dXJuIG9uSW52YWxpZERhdGVTdHJpbmc7IH1cclxuICAgIHJldHVybiBtb21lbnQoaXNvKS5mb3JtYXQoXCJERC9NTS9ZWVlZIEhIOm1tXCIpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICAgKiBAcGFyYW0gaXNvIC0gRGF0ZSBvbiBJU08gZm9ybWF0LCBlLmc6IFxyXG4gICAgICogWyAyMDEwLTEwLTA1VDE0OjQ4OjAwLjAwMFogXVxyXG4gICAgICogQHJldHVybnMgRGF0ZSBvbiBmb3JtYXQgREQvTU0vWVlZWVxyXG4gICAgKi9cclxuICBzdGF0aWMgRGF0ZUlTT1RvRERNTVlZWVkoaXNvOiBzdHJpbmcsIG9uSW52YWxpZERhdGVTdHJpbmc6IHN0cmluZyA9ICctJyk6IHN0cmluZ3tcclxuICAgIGlmKCFpc28peyByZXR1cm4gb25JbnZhbGlkRGF0ZVN0cmluZzsgfVxyXG4gICAgcmV0dXJuIG1vbWVudChpc28pLmZvcm1hdChcIkREL01NL1lZWVlcIik7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgR2VuZXJhdGVHVUlEKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gJ2lkLXh4eHh4eHh4LXh4eHgtNHh4eC15eHh4LXh4eHh4eHh4eHh4eCcucmVwbGFjZSgvW3h5XS9nLCBmdW5jdGlvbihjKSB7XHJcbiAgICAgIHZhciByID0gTWF0aC5yYW5kb20oKSAqIDE2IHwgMCxcclxuICAgICAgdiA9IGMgPT09ICd4JyA/IHIgOiAociAmIDB4MyB8IDB4OCk7XHJcbiAgICAgIHJldHVybiB2LnRvU3RyaW5nKDE2KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqIFxyXG4gICAqIEBwYXJhbSBmaWxlOiBiYXNlNjQgfCBCbG9iXHJcbiAgICovXHJcbiAgc3RhdGljIGFzeW5jIERvd25sb2FkRmlsZShmaWxlOiBzdHJpbmcgfCBCbG9iLCBmaWxlTmFtZTogc3RyaW5nKXtcclxuICAgIHZhciBibG9iOiBCbG9iID0gbnVsbDtcclxuICAgIGlmKCEoZmlsZSBpbnN0YW5jZW9mIEJsb2IpKXtcclxuICAgICAgYmxvYiA9IGF3YWl0IFV0aWxzLkJhc2U2NFRvQmxvYihmaWxlLCBVdGlscy5GaW5kTWltZUZyb21OYW1lT3JFeHRlbnNpb24oZmlsZU5hbWUpKTtcclxuICAgIH1cclxuICAgIGVsc2V7IFxyXG4gICAgICBibG9iID0gZmlsZTsgXHJcbiAgICB9XHJcblxyXG4gICAgdmFyIGZpbGVVUkwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xyXG4gICAgY29uc3QgbGlua0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYVwiKTtcclxuICAgIGxpbmtFbGVtZW50LnNldEF0dHJpYnV0ZShcImhyZWZcIiwgZmlsZVVSTCk7XHJcbiAgICBsaW5rRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJ0YXJnZXRcIiwgXCJfYmxhbmtcIik7XHJcbiAgICBsaW5rRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJkb3dubG9hZFwiLCBmaWxlTmFtZSk7XHJcblxyXG4gICAgbGV0IG1lID0gbmV3IE1vdXNlRXZlbnQoXCJjbGlja1wiLCB7XHJcbiAgICAgIHZpZXc6IHdpbmRvdyxcclxuICAgICAgYnViYmxlczogdHJ1ZSxcclxuICAgICAgY2FuY2VsYWJsZTogZmFsc2UsXHJcbiAgICB9KTtcclxuXHJcbiAgICBsaW5rRWxlbWVudC5kaXNwYXRjaEV2ZW50KG1lKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgYXN5bmMgQmxvYlRvQmFzZTY0KGJsb2I6IEJsb2IpOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgY29uc3QgYWIgPSBhd2FpdCBibG9iLmFycmF5QnVmZmVyKCk7XHJcbiAgICByZXR1cm4gQnVmZmVyLmZyb20oYWIpLnRvU3RyaW5nKFwiYmFzZTY0XCIpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBhc3luYyBCYXNlNjRUb0Jsb2IoYmFzZTY0OiBzdHJpbmcsIG1pbWVUeXBlOiBzdHJpbmcpOiBQcm9taXNlPEJsb2I+IHtcclxuICAgIHJldHVybiBuZXcgQmxvYihbQnVmZmVyLmZyb20oYmFzZTY0LCBcImJhc2U2NFwiKV0sIHsgdHlwZTogbWltZVR5cGUgfSlcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgYXN5bmMgR2V0UGhvdG8ocGFyYW1zPzoge1xyXG4gICAgcXVhbGl0eT86IG51bWJlcixcclxuICAgIHNvdXJjZT86IENhbWVyYVNvdXJjZVxyXG4gIH0pOiBQcm9taXNlPHtcclxuICAgIGJsb2I6IEJsb2JcclxuICAgIGZpbGVOYW1lOiBzdHJpbmdcclxuICB9PntcclxuICAgIGNvbnN0IHF1YWxpdHkgPSBwYXJhbXM/LnF1YWxpdHkgfHwgNzA7XHJcbiAgICBjb25zdCBzb3VyY2UgID0gcGFyYW1zPy5zb3VyY2UgfHwgQ2FtZXJhU291cmNlLkNhbWVyYTtcclxuICAgIGNvbnN0IHBoICAgPSBhd2FpdCBDYW1lcmEuZ2V0UGhvdG8oeyBcclxuICAgICAgcmVzdWx0VHlwZTogQ2FtZXJhUmVzdWx0VHlwZS5VcmksIFxyXG4gICAgICBzb3VyY2UgOiBzb3VyY2UsXHJcbiAgICAgIHF1YWxpdHk6IHF1YWxpdHlcclxuICAgIH0pO1xyXG4gICAgaWYoQ2FwYWNpdG9yLmlzTmF0aXZlUGxhdGZvcm0oKSl7XHJcbiAgICAgIGNvbnN0IGZpbGUgPSBhd2FpdCBGaWxlc3lzdGVtLnJlYWRGaWxlKHsgcGF0aDogcGgucGF0aCB9KTtcclxuICAgICAgY29uc3QgYjY0OiBzdHJpbmcgPSBmaWxlLmRhdGEgYXMgc3RyaW5nO1xyXG4gICAgICBjb25zdCBibG9iICAgICA9IGF3YWl0IFV0aWxzLkJhc2U2NFRvQmxvYihiNjQgYXMgc3RyaW5nLCBVdGlscy5GaW5kTWltZUZyb21OYW1lT3JFeHRlbnNpb24ocGgucGF0aCkpO1xyXG4gICAgICByZXR1cm4geyBibG9iLCBmaWxlTmFtZTogcGgucGF0aC5zcGxpdCgnLycpLmF0KC0xKSB9O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChwaC53ZWJQYXRoKTtcclxuICAgICAgY29uc3QgYmxvYiA9IGF3YWl0IHJlc3BvbnNlLmJsb2IoKTtcclxuICAgICAgcmV0dXJuIHsgYmxvYiwgZmlsZU5hbWU6IHBoLndlYlBhdGguc3BsaXQoJy8nKS5hdCgtMSkgfTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBGaW5kTWltZUZyb21OYW1lT3JFeHRlbnNpb24ocGF0aE9yRXh0ZW5zaW9uOiBzdHJpbmcpe1xyXG4gICAgcmV0dXJuIG1pbWUuZ2V0VHlwZShwYXRoT3JFeHRlbnNpb24pIHx8ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFNlYXJjaDxUID0gYW55PihpdGVtczogVFtdLCBTZWFyY2g6IHN0cmluZywgYmluZExhYmVsOiAoKG9iajogVCkgPT4gc3RyaW5nKSk6IFRbXSB7XHJcbiAgcmV0dXJuIGl0ZW1zLmZpbHRlcihwID0+IGJpbmRMYWJlbChwKT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhTZWFyY2gudG9Mb3dlckNhc2UoKSkpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gVGltZW91dCh0aW1lb3V0OiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+e1xyXG4gIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgdGltZW91dCkpO1xyXG59XHJcblxyXG4vL1sgQmFzZSA2NCBdXHJcbmZ1bmN0aW9uIERlY29kZUJhc2U2NDxUPihiNjQ6IHN0cmluZyk6IFR7XHJcbiAgcmV0dXJuIEpTT04ucGFyc2UoQnVmZmVyLmZyb20oYjY0LCAnYmFzZTY0JykudG9TdHJpbmcoJ3V0Zi04JykpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBEZWNvZGVCYXNlNjRBc1N0cmluZyhiNjQ6IHN0cmluZykge1xyXG4gIHJldHVybiBCdWZmZXIuZnJvbShiNjQsICdiYXNlNjQnKS50b1N0cmluZygndXRmLTgnKTtcclxufVxyXG5cclxuZnVuY3Rpb24gRW5jb2RlQmFzZTY0KG9iajogYW55IHwgc3RyaW5nKTogc3RyaW5ne1xyXG4gIGlmKHR5cGVvZiBvYmogPT0gXCJvYmplY3RcIil7XHJcbiAgICByZXR1cm4gQnVmZmVyLmZyb20oSlNPTi5zdHJpbmdpZnkob2JqKSkudG9TdHJpbmcoJ2Jhc2U2NCcpO1xyXG4gIH1cclxuICBlbHNlXHJcbiAgaWYodHlwZW9mIG9iaiA9PSBcInN0cmluZ1wiKXtcclxuICAgIHJldHVybiBCdWZmZXIuZnJvbShvYmopLnRvU3RyaW5nKCdiYXNlNjQnKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBJTlRfTUFYID0gMl8xNDdfNDgzXzY0NjsiXX0=
|
|
190
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvdXRpbHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFVBQVUsRUFBaUQsTUFBTSxtQ0FBbUMsQ0FBQztBQUM5RyxPQUFPLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTNFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDaEMsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBRXhCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBSzVDLE1BQU0sT0FBTyxZQUFZO0lBRXZCLFlBQW9CLHFCQUE0QztRQUE1QywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO0lBQ2hFLENBQUM7SUFFRCx3RUFBd0U7SUFDeEUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxhQUFxQztRQUNwRCxJQUFLLFVBS0o7UUFMRCxXQUFLLFVBQVU7WUFDYiwrQ0FBVSxDQUFBO1lBQ1YsK0NBQVUsQ0FBQTtZQUNWLDJDQUFVLENBQUE7WUFDViwyQ0FBVSxDQUFBO1FBQ1osQ0FBQyxFQUxJLFVBQVUsS0FBVixVQUFVLFFBS2Q7UUFFRCxNQUFNLFNBQVMsR0FBc0IsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFjLElBQUksRUFBRSxRQUFRLEVBQVEsSUFBSSxFQUFFLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtRQUNsSCxNQUFNLFNBQVMsR0FBc0IsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFhLElBQUksRUFBRSxPQUFP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YixTQUFTLFlBQVksQ0FBSSxHQUFXO0lBQ2xDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUNsRSxDQUFDO0FBRUQsU0FBUyxvQkFBb0IsQ0FBQyxHQUFXO0lBQ3ZDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3RELENBQUM7QUFFRCxTQUFTLFlBQVksQ0FBQyxHQUFpQjtJQUNyQyxJQUFHLE9BQU8sR0FBRyxJQUFJLFFBQVEsRUFBQyxDQUFDO1FBQ3pCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdELENBQUM7U0FFRCxJQUFHLE9BQU8sR0FBRyxJQUFJLFFBQVEsRUFBQyxDQUFDO1FBQ3pCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0MsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9uU2hlZXRCdXR0b24sIEFjdGlvblNoZWV0Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcclxuaW1wb3J0IHsgRmlsZVBpY2tlciwgUGlja0ZpbGVzUmVzdWx0LCBQaWNrZWRGaWxlLCBQaWNrRmlsZXNPcHRpb25zIH0gZnJvbSAnQGNhcGF3ZXNvbWUvY2FwYWNpdG9yLWZpbGUtcGlja2VyJztcclxuaW1wb3J0IHsgQ2FtZXJhLCBDYW1lcmFSZXN1bHRUeXBlLCBDYW1lcmFTb3VyY2UgfSBmcm9tICdAY2FwYWNpdG9yL2NhbWVyYSc7XHJcbmltcG9ydCB7IE92ZXJsYXlFdmVudERldGFpbCB9IGZyb20gJ0Bpb25pYy9jb3JlJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XHJcbmltcG9ydCB7IEJ1ZmZlciB9IGZyb20gJ2J1ZmZlcic7XHJcbmltcG9ydCBtaW1lIGZyb20gJ21pbWUnO1xyXG5pbXBvcnQgeyBJbnB1dEZpbGVDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vY29tcG9uZW50cy9pbnB1dHMvaW5wdXQtZmlsZS9pbnB1dC1maWxlLmNvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBDYXBhY2l0b3IgfSBmcm9tICdAY2FwYWNpdG9yL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVXRpbHNTZXJ2aWNle1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFjdGlvblNoZWV0Q29udHJvbGxlcjogQWN0aW9uU2hlZXRDb250cm9sbGVyKSB7XHJcbiAgfVxyXG5cclxuICAvKiogUmV0b3JuYSB1bSBhcnJheSBkZSBhcnF1aXZvcyBkZSBhY29yZG8gY29tIG8gdGlwbyBkZSBjb25maWd1dGHDp8OjbyAqL1xyXG4gIGFzeW5jIFNlbGVjdEZpbGUoY29uZmlndXJhdGlvbjogSW5wdXRGaWxlQ29uZmlndXJhdGlvbik6IFByb21pc2U8RmlsZT57XHJcbiAgICBlbnVtIFNlbGVjdFR5cGUge1xyXG4gICAgICBjYW1lcmEgPSAxLFxyXG4gICAgICBnYWxlcnkgPSAyLFxyXG4gICAgICBmaWxlICAgPSAzLFxyXG4gICAgICBkZW55ICAgPSA0LFxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGJ0bkNhbWVyYTogQWN0aW9uU2hlZXRCdXR0b24gPSB7IHRleHQ6ICdDw6JtZXJhJyAgICAgICAgICAgICwgaWNvbjogJ2NhbWVyYScgICAgICAsIGRhdGE6IFNlbGVjdFR5cGUuY2FtZXJhIH1cclxuICAgIGNvbnN0IGJ0bkdhbGVyeTogQWN0aW9uU2hlZXRCdXR0b24gPSB7IHRleHQ6ICdHYWxlcmlhJyAgICAgICAgICAgLCBpY29uOiAnaW1hZ2UnICAgICAgICwgZGF0YTogU2VsZWN0VHlwZS5nYWxlcnkgfVxyXG4gICAgY29uc3QgYnRuRmlsZSAgOiBBY3Rpb25TaGVldEJ1dHRvbiA9IHsgdGV4dDogJ1NlbGVjaW9uYXIgQXJxdWl2bycsIGljb246ICdkb2N1bWVudCcgICAgLCBkYXRhOiBTZWxlY3RUeXBlLmZpbGUgICB9XHJcbiAgICBjb25zdCBidG5EZW55ICA6IEFjdGlvblNoZWV0QnV0dG9uID0geyB0ZXh0OiAnQ2FuY2VsYXInICAgICAgICAgICwgaWNvbjogJ2Nsb3NlLWNpcmNsZScsIGRhdGE6IFNlbGVjdFR5cGUuZGVueSwgcm9sZTogJ2NhbmNlbCcsIH07XHJcblxyXG4gICAgY29uc3QgaXNBcHAgPSAoIWRvY3VtZW50LlVSTC5zdGFydHNXaXRoKCdodHRwJykgfHwgZG9jdW1lbnQuVVJMLnN0YXJ0c1dpdGgoJ2h0dHA6Ly9sb2NhbGhvc3Q6ODA4MCcpKTtcclxuXHJcbiAgICB2YXIgbHN0QnRuOiBhbnlbXSA9IFtdO1xyXG4gICAgaWYoaXNBcHApeyBcclxuICAgICAgbHN0QnRuLnB1c2goYnRuQ2FtZXJhKTsgXHJcbiAgICAgIGxzdEJ0bi5wdXNoKGJ0bkdhbGVyeSk7XHJcbiAgICB9XHJcbiAgICBsc3RCdG4ucHVzaChidG5GaWxlKTtcclxuICAgIGxzdEJ0bi5wdXNoKGJ0bkRlbnkpO1xyXG5cclxuICAgIHZhciByZXM6IE92ZXJsYXlFdmVudERldGFpbDxhbnk+O1xyXG4gICAgaWYobHN0QnRuLmxlbmd0aCA+IDIpe1xyXG4gICAgICBjb25zdCBhY3Rpb25TaGVldCA9IGF3YWl0IHRoaXMuYWN0aW9uU2hlZXRDb250cm9sbGVyLmNyZWF0ZSh7IGJ1dHRvbnM6IGxzdEJ0biB9KTtcclxuICAgICAgYWN0aW9uU2hlZXQucHJlc2VudCgpO1xyXG4gICAgICByZXMgPSBhd2FpdCBhY3Rpb25TaGVldC5vbkRpZERpc21pc3MoKTtcclxuICAgIH1lbHNle1xyXG4gICAgICByZXMgPSB7IHJvbGU6ICdjb25maXJtJywgZGF0YTogbHN0QnRuWzBdLmRhdGEgfTtcclxuICAgIH1cclxuXHJcbiAgICBcclxuICAgIGlmKFsnYmFja2Ryb3AnLCAnY2FuY2VsJ10uaW5jbHVkZXMocmVzLnJvbGUpKXsgcmV0dXJuOyB9XHJcblxyXG4gICAgaWYoW1NlbGVjdFR5cGUuY2FtZXJhLCBTZWxlY3RUeXBlLmdhbGVyeV0uaW5jbHVkZXMocmVzLmRhdGEpKXsgXHJcbiAgICAgIGNvbnN0IFNvdXJjZSA9IHJlcy5kYXRhID09IFNlbGVjdFR5cGUuY2FtZXJhID8gQ2FtZXJhU291cmNlLkNhbWVyYSA6IENhbWVyYVNvdXJjZS5QaG90b3NcclxuICAgICAgLy9jb25zdCBwaG90byA9IGF3YWl0IENhbWVyYS5nZXRQaG90byh7IHJlc3VsdFR5cGU6IENhbWVyYVJlc3VsdFR5cGUuVXJpLCBzb3VyY2U6IFNvdXJjZSwgcXVhbGl0eTogMTAwIH0pO1xyXG4gICAgICBjb25zb2xlLmVycm9yKFwiWyBUT0RPIF1cIilcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgY29uc3QgcmVzOiBQcm9taXNlPFBpY2tGaWxlc1Jlc3VsdD4gPSBGaWxlUGlja2VyLnBpY2tGaWxlcyh7IHR5cGVzOiBjb25maWd1cmF0aW9uLnR5cGVzLCBsaW1pdDogMSB9KTtcclxuICAgICAgY29uc3QgZmlsZXM6IFBpY2tlZEZpbGVbXSA9IChhd2FpdCByZXMpLmZpbGVzO1xyXG4gICAgICByZXR1cm4gZmlsZXMubWFwKHAgPT4gPEZpbGU+cC5ibG9iKVswXTtcclxuICAgIH1cclxuICB9IFxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgVXRpbHMge1xyXG4gIC8qKiBDb252ZXJ0ZSBkZSB1bml4IHBhcmEgRGF0ZSBvYmplY3QgKi9cclxuICBzdGF0aWMgVU5JWFRvRGF0ZSh1bml4X3RpbWVzdGFtcDogbnVtYmVyKTogRGF0ZSB7XHJcbiAgICB2YXIgZGF0ZSA9IG5ldyBEYXRlKHVuaXhfdGltZXN0YW1wICogMTAwMCk7XHJcbiAgICByZXR1cm4gZGF0ZTtcclxuICB9XHJcbiAgXHJcbiAgLyoqXHJcbiAgICogQHBhcmFtIERhdGVTdHIgLSBEYXRlIG9uIElTTyBmb3JtYXQsIGUuZzogXHJcbiAgICogWyAyMDEwLTEwLTA1VDE0OjQ4OjAwLjAwMFogXVxyXG4gICAqIEByZXR1cm5zIERhdGUgb24gZm9ybWF0IEREL01NL1lZWVlcclxuICAqL1xyXG4gIHN0YXRpYyBEYXRlSVNPVG9ERE1NWVlZWUhITU0oaXNvOiBzdHJpbmcsIG9uSW52YWxpZERhdGVTdHJpbmc6IHN0cmluZyA9ICctJyk6IHN0cmluZ3tcclxuICAgIGlmKCFpc28peyByZXR1cm4gb25JbnZhbGlkRGF0ZVN0cmluZzsgfVxyXG4gICAgcmV0dXJuIG1vbWVudChpc28pLmZvcm1hdChcIkREL01NL1lZWVkgSEg6bW1cIik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgICAqIEBwYXJhbSBpc28gLSBEYXRlIG9uIElTTyBmb3JtYXQsIGUuZzogXHJcbiAgICAgKiBbIDIwMTAtMTAtMDVUMTQ6NDg6MDAuMDAwWiBdXHJcbiAgICAgKiBAcmV0dXJucyBEYXRlIG9uIGZvcm1hdCBERC9NTS9ZWVlZXHJcbiAgICAqL1xyXG4gIHN0YXRpYyBEYXRlSVNPVG9ERE1NWVlZWShpc286IHN0cmluZywgb25JbnZhbGlkRGF0ZVN0cmluZzogc3RyaW5nID0gJy0nKTogc3RyaW5ne1xyXG4gICAgaWYoIWlzbyl7IHJldHVybiBvbkludmFsaWREYXRlU3RyaW5nOyB9XHJcbiAgICByZXR1cm4gbW9tZW50KGlzbykuZm9ybWF0KFwiREQvTU0vWVlZWVwiKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBHZW5lcmF0ZUdVSUQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiAnaWQteHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4Jy5yZXBsYWNlKC9beHldL2csIGZ1bmN0aW9uKGMpIHtcclxuICAgICAgdmFyIHIgPSBNYXRoLnJhbmRvbSgpICogMTYgfCAwLFxyXG4gICAgICB2ID0gYyA9PT0gJ3gnID8gciA6IChyICYgMHgzIHwgMHg4KTtcclxuICAgICAgcmV0dXJuIHYudG9TdHJpbmcoMTYpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKiogXHJcbiAgICogQHBhcmFtIGZpbGU6IGJhc2U2NCB8IEJsb2JcclxuICAgKi9cclxuICBzdGF0aWMgYXN5bmMgRG93bmxvYWRGaWxlKGZpbGU6IHN0cmluZyB8IEJsb2IsIGZpbGVOYW1lOiBzdHJpbmcpe1xyXG4gICAgdmFyIGJsb2I6IEJsb2IgPSBudWxsO1xyXG4gICAgaWYoIShmaWxlIGluc3RhbmNlb2YgQmxvYikpe1xyXG4gICAgICBibG9iID0gYXdhaXQgVXRpbHMuQmFzZTY0VG9CbG9iKGZpbGUsIFV0aWxzLkZpbmRNaW1lRnJvbU5hbWVPckV4dGVuc2lvbihmaWxlTmFtZSkpO1xyXG4gICAgfVxyXG4gICAgZWxzZXsgXHJcbiAgICAgIGJsb2IgPSBmaWxlOyBcclxuICAgIH1cclxuXHJcbiAgICB2YXIgZmlsZVVSTCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XHJcbiAgICBjb25zdCBsaW5rRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJhXCIpO1xyXG4gICAgbGlua0VsZW1lbnQuc2V0QXR0cmlidXRlKFwiaHJlZlwiLCBmaWxlVVJMKTtcclxuICAgIGxpbmtFbGVtZW50LnNldEF0dHJpYnV0ZShcInRhcmdldFwiLCBcIl9ibGFua1wiKTtcclxuICAgIGxpbmtFbGVtZW50LnNldEF0dHJpYnV0ZShcImRvd25sb2FkXCIsIGZpbGVOYW1lKTtcclxuXHJcbiAgICBsZXQgbWUgPSBuZXcgTW91c2VFdmVudChcImNsaWNrXCIsIHtcclxuICAgICAgdmlldzogd2luZG93LFxyXG4gICAgICBidWJibGVzOiB0cnVlLFxyXG4gICAgICBjYW5jZWxhYmxlOiBmYWxzZSxcclxuICAgIH0pO1xyXG5cclxuICAgIGxpbmtFbGVtZW50LmRpc3BhdGNoRXZlbnQobWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBhc3luYyBCbG9iVG9CYXNlNjQoYmxvYjogQmxvYik6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICBjb25zdCBhYiA9IGF3YWl0IGJsb2IuYXJyYXlCdWZmZXIoKTtcclxuICAgIHJldHVybiBCdWZmZXIuZnJvbShhYikudG9TdHJpbmcoXCJiYXNlNjRcIik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGFzeW5jIEJhc2U2NFRvQmxvYihiYXNlNjQ6IHN0cmluZywgbWltZVR5cGU6IHN0cmluZyk6IFByb21pc2U8QmxvYj4ge1xyXG4gICAgcmV0dXJuIG5ldyBCbG9iKFtCdWZmZXIuZnJvbShiYXNlNjQsIFwiYmFzZTY0XCIpXSwgeyB0eXBlOiBtaW1lVHlwZSB9KVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBhc3luYyBHZXRQaG90byhwYXJhbXM/OiB7XHJcbiAgICBxdWFsaXR5PzogbnVtYmVyLFxyXG4gICAgc291cmNlPzogQ2FtZXJhU291cmNlXHJcbiAgfSk6IFByb21pc2U8e1xyXG4gICAgYmxvYjogQmxvYlxyXG4gICAgZmlsZU5hbWU6IHN0cmluZ1xyXG4gIH0+e1xyXG4gICAgY29uc3QgcXVhbGl0eSA9IHBhcmFtcz8ucXVhbGl0eSB8fCA3MDtcclxuICAgIGNvbnN0IHNvdXJjZSAgPSBwYXJhbXM/LnNvdXJjZSB8fCBDYW1lcmFTb3VyY2UuQ2FtZXJhO1xyXG4gICAgY29uc3QgcGggICA9IGF3YWl0IENhbWVyYS5nZXRQaG90byh7IFxyXG4gICAgICByZXN1bHRUeXBlOiBDYW1lcmFSZXN1bHRUeXBlLlVyaSwgXHJcbiAgICAgIHNvdXJjZSA6IHNvdXJjZSxcclxuICAgICAgcXVhbGl0eTogcXVhbGl0eVxyXG4gICAgfSk7XHJcbiAgICBjb25zdCBmaWxlID0gYXdhaXQgZmV0Y2gocGgud2ViUGF0aCk7XHJcbiAgICBjb25zdCBibG9iID0gYXdhaXQgZmlsZS5ibG9iKCk7XHJcbiAgICByZXR1cm4geyBibG9iLCBmaWxlTmFtZTogcGgucGF0aC5zcGxpdCgnLycpLmF0KC0xKSB9O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBhc3luYyBQaWNrRmlsZShvcHRpb25zPzogUGlja0ZpbGVzT3B0aW9ucyk6IFByb21pc2U8e1xyXG4gICAgYmxvYjogQmxvYixcclxuICAgIG1pbWVUeXBlOiBzdHJpbmcsXHJcbiAgICBuYW1lOiBzdHJpbmcsXHJcbiAgICBzaXplOiBudW1iZXIsXHJcbiAgfVtdPiB7XHJcbiAgICBjb25zdCBQaWNrID0gYXdhaXQgRmlsZVBpY2tlci5waWNrRmlsZXMob3B0aW9ucyk7XHJcbiAgICBsZXQgbHN0QmxvYiA9IFBpY2suZmlsZXMubWFwKGFzeW5jIHZGaWxlID0+IHtcclxuICAgICAgbGV0IGJsb2IgPSBudWxsO1xyXG4gICAgICBpZihDYXBhY2l0b3IuaXNOYXRpdmVQbGF0Zm9ybSgpKXtcclxuICAgICAgICBibG9iID0gbmV3IEJsb2IoW2F3YWl0IChhd2FpdCBmZXRjaChDYXBhY2l0b3IuY29udmVydEZpbGVTcmModkZpbGUucGF0aCkpKS5ibG9iKCldLCB7IHR5cGU6IHZGaWxlLm1pbWVUeXBlIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2V7XHJcbiAgICAgICAgYmxvYiA9IHZGaWxlLmJsb2I7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBibG9iLFxyXG4gICAgICAgIG1pbWVUeXBlOiB2RmlsZS5taW1lVHlwZSxcclxuICAgICAgICBuYW1lOiB2RmlsZS5uYW1lLFxyXG4gICAgICAgIHNpemU6IHZGaWxlLnNpemUsXHJcbiAgICAgIH07XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBQcm9taXNlLmFsbChsc3RCbG9iKTsgICAgXHJcbiAgfVxyXG5cclxuICBzdGF0aWMgRmluZE1pbWVGcm9tTmFtZU9yRXh0ZW5zaW9uKHBhdGhPckV4dGVuc2lvbjogc3RyaW5nKXtcclxuICAgIHJldHVybiBtaW1lLmdldFR5cGUocGF0aE9yRXh0ZW5zaW9uKSB8fCAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJztcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBTZWFyY2g8VCA9IGFueT4oaXRlbXM6IFRbXSwgU2VhcmNoOiBzdHJpbmcsIGJpbmRMYWJlbDogKChvYmo6IFQpID0+IHN0cmluZykpOiBUW10ge1xyXG4gIHJldHVybiBpdGVtcy5maWx0ZXIocCA9PiBiaW5kTGFiZWwocCk/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoU2VhcmNoLnRvTG93ZXJDYXNlKCkpKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFRpbWVvdXQodGltZW91dDogbnVtYmVyKTogUHJvbWlzZTx2b2lkPntcclxuICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIHRpbWVvdXQpKTtcclxufVxyXG5cclxuLy9bIEJhc2UgNjQgXVxyXG5mdW5jdGlvbiBEZWNvZGVCYXNlNjQ8VD4oYjY0OiBzdHJpbmcpOiBUe1xyXG4gIHJldHVybiBKU09OLnBhcnNlKEJ1ZmZlci5mcm9tKGI2NCwgJ2Jhc2U2NCcpLnRvU3RyaW5nKCd1dGYtOCcpKTtcclxufVxyXG5cclxuZnVuY3Rpb24gRGVjb2RlQmFzZTY0QXNTdHJpbmcoYjY0OiBzdHJpbmcpIHtcclxuICByZXR1cm4gQnVmZmVyLmZyb20oYjY0LCAnYmFzZTY0JykudG9TdHJpbmcoJ3V0Zi04Jyk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIEVuY29kZUJhc2U2NChvYmo6IGFueSB8IHN0cmluZyk6IHN0cmluZ3tcclxuICBpZih0eXBlb2Ygb2JqID09IFwib2JqZWN0XCIpe1xyXG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKEpTT04uc3RyaW5naWZ5KG9iaikpLnRvU3RyaW5nKCdiYXNlNjQnKTtcclxuICB9XHJcbiAgZWxzZVxyXG4gIGlmKHR5cGVvZiBvYmogPT0gXCJzdHJpbmdcIil7XHJcbiAgICByZXR1cm4gQnVmZmVyLmZyb20ob2JqKS50b1N0cmluZygnYmFzZTY0Jyk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgSU5UX01BWCA9IDJfMTQ3XzQ4M182NDY7Il19
|
|
@@ -4,11 +4,10 @@ import { FilePicker } from '@capawesome/capacitor-file-picker';
|
|
|
4
4
|
import { CameraSource, Camera, CameraResultType } 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
|
-
import { Capacitor } from '@capacitor/core';
|
|
8
7
|
import moment from 'moment';
|
|
9
8
|
import { Buffer } from 'buffer';
|
|
10
9
|
import mime from 'mime';
|
|
11
|
-
import {
|
|
10
|
+
import { Capacitor } from '@capacitor/core';
|
|
12
11
|
import { BehaviorSubject, firstValueFrom, from, switchMap, Subject, takeUntil, distinctUntilChanged, debounceTime, lastValueFrom, Observable, tap, finalize, share, catchError } from 'rxjs';
|
|
13
12
|
import * as i1$1 from '@angular/common/http';
|
|
14
13
|
import { HttpClient, HttpEventType, HttpHeaders } from '@angular/common/http';
|
|
@@ -448,17 +447,28 @@ class Utils {
|
|
|
448
447
|
source: source,
|
|
449
448
|
quality: quality
|
|
450
449
|
});
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
450
|
+
const file = await fetch(ph.webPath);
|
|
451
|
+
const blob = await file.blob();
|
|
452
|
+
return { blob, fileName: ph.path.split('/').at(-1) };
|
|
453
|
+
}
|
|
454
|
+
static async PickFile(options) {
|
|
455
|
+
const Pick = await FilePicker.pickFiles(options);
|
|
456
|
+
let lstBlob = Pick.files.map(async (vFile) => {
|
|
457
|
+
let blob = null;
|
|
458
|
+
if (Capacitor.isNativePlatform()) {
|
|
459
|
+
blob = new Blob([await (await fetch(Capacitor.convertFileSrc(vFile.path))).blob()], { type: vFile.mimeType });
|
|
460
|
+
}
|
|
461
|
+
else {
|
|
462
|
+
blob = vFile.blob;
|
|
463
|
+
}
|
|
464
|
+
return {
|
|
465
|
+
blob,
|
|
466
|
+
mimeType: vFile.mimeType,
|
|
467
|
+
name: vFile.name,
|
|
468
|
+
size: vFile.size,
|
|
469
|
+
};
|
|
470
|
+
});
|
|
471
|
+
return Promise.all(lstBlob);
|
|
462
472
|
}
|
|
463
473
|
static FindMimeFromNameOrExtension(pathOrExtension) {
|
|
464
474
|
return mime.getType(pathOrExtension) || 'application/octet-stream';
|