@vgip/meta-ui 1.7.0 → 1.7.3
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.
- package/{esm2020 → esm2022}/lib/common/metaAutofocus.directive.mjs +4 -4
- package/esm2022/lib/common/metaIcons.pipe.mjs +29 -0
- package/esm2022/lib/common/metaModel.pipe.mjs +23 -0
- package/esm2022/lib/common/metaNormalizer.mjs +341 -0
- package/{esm2020 → esm2022}/lib/common/metaStripHtml.pipe.mjs +4 -4
- package/esm2022/lib/common/utils/colorThemes.mjs +77 -0
- package/esm2022/lib/common/utils/indexedDbStore/index.mjs +218 -0
- package/{esm2020 → esm2022}/lib/common/utils/templateBuilder.mjs +3 -3
- package/esm2022/lib/fieldAbstract.mjs +291 -0
- package/{esm2020 → esm2022}/lib/fieldBoolean/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/fieldComposite/index.mjs +4 -4
- package/esm2022/lib/fieldDatetime/index.mjs +365 -0
- package/{esm2020 → esm2022}/lib/fieldHidden/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/fieldInput/index.mjs +5 -5
- package/esm2022/lib/fieldList/index.mjs +69 -0
- package/{esm2020 → esm2022}/lib/fieldRadio/index.mjs +5 -5
- package/esm2022/lib/fieldReference/index.mjs +829 -0
- package/esm2022/lib/fieldRichtext/index.mjs +95 -0
- package/esm2022/lib/fieldSelect/index.mjs +495 -0
- package/{esm2020 → esm2022}/lib/fieldText/index.mjs +5 -5
- package/esm2022/lib/fieldUnknown/index.mjs +19 -0
- package/esm2022/lib/index.mjs +163 -0
- package/esm2022/lib/layout/index.mjs +155 -0
- package/{esm2020 → esm2022}/lib/metaField/index.mjs +7 -7
- package/esm2022/lib/refDialog/index.mjs +135 -0
- package/esm2022/lib/resource/index.mjs +495 -0
- package/{esm2020 → esm2022}/lib/resourceCard/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/services/metaContext/index.mjs +4 -4
- package/esm2022/lib/services/metaMsg/index.mjs +84 -0
- package/esm2022/lib/services/metaReference/index.mjs +89 -0
- package/{esm2020 → esm2022}/lib/services/metaResource/index.mjs +7 -7
- package/{esm2020 → esm2022}/lib/services/metaResource/metaHttpClient.mjs +5 -5
- package/{esm2020 → esm2022}/lib/services/metaTracker/index.mjs +4 -4
- package/esm2022/lib/services/resourceDrafts/index.mjs +69 -0
- package/{fesm2020/vgip-meta-ui-fieldAbstract-f7d80db6.mjs → fesm2022/vgip-meta-ui-fieldAbstract-9955be39.mjs} +10 -8
- package/fesm2022/vgip-meta-ui-fieldAbstract-9955be39.mjs.map +1 -0
- package/{fesm2020/vgip-meta-ui-index-301b28cd.mjs → fesm2022/vgip-meta-ui-index-39011b04.mjs} +20 -20
- package/{fesm2020/vgip-meta-ui-index-301b28cd.mjs.map → fesm2022/vgip-meta-ui-index-39011b04.mjs.map} +1 -1
- package/{fesm2020/vgip-meta-ui-index-4fcefde0.mjs → fesm2022/vgip-meta-ui-index-3bc3d41b.mjs} +88 -56
- package/fesm2022/vgip-meta-ui-index-3bc3d41b.mjs.map +1 -0
- package/fesm2022/vgip-meta-ui-index-3fda8c0e.mjs +74 -0
- package/fesm2022/vgip-meta-ui-index-3fda8c0e.mjs.map +1 -0
- package/fesm2022/vgip-meta-ui-index-5871a6f2.mjs +95 -0
- package/fesm2022/vgip-meta-ui-index-5871a6f2.mjs.map +1 -0
- package/fesm2022/vgip-meta-ui-index-5891b8e7.mjs +24 -0
- package/fesm2022/vgip-meta-ui-index-5891b8e7.mjs.map +1 -0
- package/{fesm2020/vgip-meta-ui-index-87041aad.mjs → fesm2022/vgip-meta-ui-index-5d13f5e6.mjs} +5 -5
- package/{fesm2015/vgip-meta-ui-index-87041aad.mjs.map → fesm2022/vgip-meta-ui-index-5d13f5e6.mjs.map} +1 -1
- package/fesm2022/vgip-meta-ui-index-9e4137fe.mjs +68 -0
- package/fesm2022/vgip-meta-ui-index-9e4137fe.mjs.map +1 -0
- package/fesm2022/vgip-meta-ui-index-a2a973a6.mjs +862 -0
- package/fesm2022/vgip-meta-ui-index-a2a973a6.mjs.map +1 -0
- package/{fesm2015/vgip-meta-ui-index-81aa79dc.mjs → fesm2022/vgip-meta-ui-index-af4eda3c.mjs} +8 -8
- package/fesm2022/vgip-meta-ui-index-af4eda3c.mjs.map +1 -0
- package/fesm2022/vgip-meta-ui-index-b0a76073.mjs +97 -0
- package/fesm2022/vgip-meta-ui-index-b0a76073.mjs.map +1 -0
- package/fesm2022/vgip-meta-ui-index-b48e32ce.mjs +502 -0
- package/fesm2022/vgip-meta-ui-index-b48e32ce.mjs.map +1 -0
- package/{fesm2020/vgip-meta-ui-index-2b20afc8.mjs → fesm2022/vgip-meta-ui-index-b6fcc07d.mjs} +10 -8
- package/fesm2022/vgip-meta-ui-index-b6fcc07d.mjs.map +1 -0
- package/{fesm2015/vgip-meta-ui-index-bf5b6c0f.mjs → fesm2022/vgip-meta-ui-index-c39ea0ec.mjs} +6 -6
- package/{fesm2020/vgip-meta-ui-index-bf5b6c0f.mjs.map → fesm2022/vgip-meta-ui-index-c39ea0ec.mjs.map} +1 -1
- package/{fesm2020/vgip-meta-ui-index-6e77c362.mjs → fesm2022/vgip-meta-ui-index-ea5c2466.mjs} +6 -6
- package/fesm2022/vgip-meta-ui-index-ea5c2466.mjs.map +1 -0
- package/{fesm2020/vgip-meta-ui-index-b92a559b.mjs → fesm2022/vgip-meta-ui-index-fef499eb.mjs} +6 -6
- package/{fesm2020/vgip-meta-ui-index-b92a559b.mjs.map → fesm2022/vgip-meta-ui-index-fef499eb.mjs.map} +1 -1
- package/fesm2022/vgip-meta-ui-metaModel.pipe-6b803e66.mjs +26 -0
- package/fesm2022/vgip-meta-ui-metaModel.pipe-6b803e66.mjs.map +1 -0
- package/{fesm2015 → fesm2022}/vgip-meta-ui.mjs +108 -103
- package/fesm2022/vgip-meta-ui.mjs.map +1 -0
- package/lib/common/metaAutofocus.directive.d.ts +1 -1
- package/lib/common/metaIcons.pipe.d.ts +1 -1
- package/lib/common/metaModel.pipe.d.ts +1 -2
- package/lib/common/utils/indexedDbStore/index.d.ts +2 -2
- package/lib/fieldAbstract.d.ts +0 -4
- package/lib/fieldBoolean/index.d.ts +1 -1
- package/lib/fieldComposite/index.d.ts +1 -1
- package/lib/fieldRadio/index.d.ts +1 -1
- package/lib/fieldReference/index.d.ts +1 -1
- package/lib/fieldRichtext/index.d.ts +6 -8
- package/lib/fieldSelect/index.d.ts +1 -1
- package/lib/fieldText/index.d.ts +1 -1
- package/lib/layout/index.d.ts +5 -5
- package/lib/metaField/index.d.ts +1 -1
- package/lib/refDialog/index.d.ts +3 -3
- package/lib/resource/index.d.ts +2 -2
- package/lib/resourceCard/index.d.ts +1 -1
- package/package.json +8 -14
- package/esm2020/lib/common/metaIcons.pipe.mjs +0 -29
- package/esm2020/lib/common/metaModel.pipe.mjs +0 -25
- package/esm2020/lib/common/metaNormalizer.mjs +0 -327
- package/esm2020/lib/common/utils/colorThemes.mjs +0 -79
- package/esm2020/lib/common/utils/indexedDbStore/index.mjs +0 -218
- package/esm2020/lib/fieldAbstract.mjs +0 -287
- package/esm2020/lib/fieldDatetime/index.mjs +0 -363
- package/esm2020/lib/fieldList/index.mjs +0 -69
- package/esm2020/lib/fieldReference/index.mjs +0 -825
- package/esm2020/lib/fieldRichtext/index.mjs +0 -85
- package/esm2020/lib/fieldSelect/index.mjs +0 -490
- package/esm2020/lib/fieldUnknown/index.mjs +0 -19
- package/esm2020/lib/index.mjs +0 -158
- package/esm2020/lib/layout/index.mjs +0 -149
- package/esm2020/lib/refDialog/index.mjs +0 -127
- package/esm2020/lib/resource/index.mjs +0 -491
- package/esm2020/lib/services/metaMsg/index.mjs +0 -84
- package/esm2020/lib/services/metaReference/index.mjs +0 -89
- package/esm2020/lib/services/resourceDrafts/index.mjs +0 -68
- package/fesm2015/vgip-meta-ui-fieldAbstract-f7d80db6.mjs +0 -397
- package/fesm2015/vgip-meta-ui-fieldAbstract-f7d80db6.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-1d2b4c69.mjs +0 -68
- package/fesm2015/vgip-meta-ui-index-1d2b4c69.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-2737c81e.mjs +0 -1900
- package/fesm2015/vgip-meta-ui-index-2737c81e.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-2b20afc8.mjs +0 -368
- package/fesm2015/vgip-meta-ui-index-2b20afc8.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-3eefa50a.mjs +0 -75
- package/fesm2015/vgip-meta-ui-index-3eefa50a.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-476b6cb7.mjs +0 -24
- package/fesm2015/vgip-meta-ui-index-476b6cb7.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-4b8d731c.mjs +0 -151
- package/fesm2015/vgip-meta-ui-index-4b8d731c.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-4ecdd48a.mjs +0 -72
- package/fesm2015/vgip-meta-ui-index-4ecdd48a.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-62be0e3e.mjs +0 -858
- package/fesm2015/vgip-meta-ui-index-62be0e3e.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-640f8e62.mjs +0 -95
- package/fesm2015/vgip-meta-ui-index-640f8e62.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-695384af.mjs +0 -88
- package/fesm2015/vgip-meta-ui-index-695384af.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-6e77c362.mjs +0 -130
- package/fesm2015/vgip-meta-ui-index-6e77c362.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-81aa79dc.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-87041aad.mjs +0 -23
- package/fesm2015/vgip-meta-ui-index-a76ba482.mjs +0 -498
- package/fesm2015/vgip-meta-ui-index-a76ba482.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-bf5b6c0f.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-metaModel.pipe-4b068359.mjs +0 -28
- package/fesm2015/vgip-meta-ui-metaModel.pipe-4b068359.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-fieldAbstract-f7d80db6.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-index-1d2b4c69.mjs +0 -68
- package/fesm2020/vgip-meta-ui-index-1d2b4c69.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-index-2b20afc8.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-index-476b6cb7.mjs +0 -24
- package/fesm2020/vgip-meta-ui-index-476b6cb7.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-index-4c4a4daf.mjs +0 -858
- package/fesm2020/vgip-meta-ui-index-4c4a4daf.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-index-4fcefde0.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-index-640f8e62.mjs +0 -95
- package/fesm2020/vgip-meta-ui-index-640f8e62.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-index-695384af.mjs +0 -88
- package/fesm2020/vgip-meta-ui-index-695384af.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-index-6e77c362.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-index-81aa79dc.mjs +0 -460
- package/fesm2020/vgip-meta-ui-index-81aa79dc.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-index-87041aad.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-index-aee28354.mjs +0 -497
- package/fesm2020/vgip-meta-ui-index-aee28354.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-index-bf5b6c0f.mjs +0 -61
- package/fesm2020/vgip-meta-ui-index-f7370960.mjs +0 -74
- package/fesm2020/vgip-meta-ui-index-f7370960.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-metaModel.pipe-4b068359.mjs +0 -28
- package/fesm2020/vgip-meta-ui-metaModel.pipe-4b068359.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-relativeTimeBuilder-31791ce4.mjs +0 -51
- package/fesm2020/vgip-meta-ui-relativeTimeBuilder-31791ce4.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui.mjs +0 -524
- package/fesm2020/vgip-meta-ui.mjs.map +0 -1
- /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/boolean.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/datetime.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/number.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/options.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/radio.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/reference.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/richtext.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/string.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/text.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/uniqueNameFilter.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/utils/relativeTimeBuilder.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/utils/resourceCardLabel.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/utils/smartProp.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/vgip-meta-ui.mjs +0 -0
- /package/{fesm2015 → fesm2022}/vgip-meta-ui-relativeTimeBuilder-31791ce4.mjs +0 -0
- /package/{fesm2015 → fesm2022}/vgip-meta-ui-relativeTimeBuilder-31791ce4.mjs.map +0 -0
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @Author: Alexander.Vangelov@vonage.com
|
|
3
|
+
* @Date: 2020-02-10 18:47:45
|
|
4
|
+
* @Last Modified by: Alexander.Vangelov@vonage.com
|
|
5
|
+
* @Last Modified time: 2020-02-28 13:29:23
|
|
6
|
+
*/
|
|
7
|
+
export class IndexedDbStore {
|
|
8
|
+
constructor(dbName = 'vgip') {
|
|
9
|
+
this.dbName = dbName;
|
|
10
|
+
this.indxDb = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
|
|
11
|
+
}
|
|
12
|
+
_getDb(callback) {
|
|
13
|
+
const self = this;
|
|
14
|
+
if (this.db) {
|
|
15
|
+
return callback(null, this.db);
|
|
16
|
+
}
|
|
17
|
+
const req = this.indxDb.open(this.dbName);
|
|
18
|
+
req.onupgradeneeded = (ev) => {
|
|
19
|
+
self.db = ev.target.result;
|
|
20
|
+
const objectStore = self.db.createObjectStore('Draft', { keyPath: 'id', autoIncrement: true });
|
|
21
|
+
objectStore.createIndex('contextIndex', 'context', { unique: false });
|
|
22
|
+
objectStore.createIndex('contextintegrationIndex', ['context', 'integration'], { unique: false });
|
|
23
|
+
objectStore.createIndex('contextintegrationresourceIndex', ['context', 'integration', 'resource'], { unique: true });
|
|
24
|
+
};
|
|
25
|
+
if (callback) {
|
|
26
|
+
req.onsuccess = (ev) => {
|
|
27
|
+
self.db = ev.target.result;
|
|
28
|
+
callback(null, self.db);
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
req.onerror = (ev) => {
|
|
32
|
+
if (callback) {
|
|
33
|
+
callback(ev.error);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
initCollection(collectionName, callback) {
|
|
38
|
+
const self = this;
|
|
39
|
+
this._getDb((err) => {
|
|
40
|
+
if (err && callback) {
|
|
41
|
+
return callback(err);
|
|
42
|
+
}
|
|
43
|
+
if (callback) {
|
|
44
|
+
callback(null, self.db);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
reset(callback) {
|
|
49
|
+
this._getDb((err) => {
|
|
50
|
+
if (err) {
|
|
51
|
+
return callback(err);
|
|
52
|
+
}
|
|
53
|
+
this.db.close();
|
|
54
|
+
this.indxDb.deleteDatabase(this.dbName);
|
|
55
|
+
delete this.db;
|
|
56
|
+
this._getDb(callback); // eslint-disable-line no-underscore-dangle
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
findById(collectionName, id, callback) {
|
|
60
|
+
const tx = this.db.transaction([collectionName]);
|
|
61
|
+
const store = tx.objectStore(collectionName);
|
|
62
|
+
const request = store.get(parseInt(`${id}`, 10));
|
|
63
|
+
if (callback) {
|
|
64
|
+
request.onerror = () => {
|
|
65
|
+
callback(request.error);
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
request.onsuccess = () => {
|
|
69
|
+
if (!request.result) {
|
|
70
|
+
callback({ message: 'Not Found' });
|
|
71
|
+
}
|
|
72
|
+
else if (callback) {
|
|
73
|
+
callback(null, request.result);
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
destroyById(collectionName, id, callback) {
|
|
78
|
+
const tx = this.db.transaction([collectionName], 'readwrite');
|
|
79
|
+
const store = tx.objectStore(collectionName);
|
|
80
|
+
const request = store.delete(parseInt(`${id}`, 10));
|
|
81
|
+
if (callback) {
|
|
82
|
+
request.onerror = () => {
|
|
83
|
+
callback(request.error);
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
request.onsuccess = () => {
|
|
87
|
+
if (callback) {
|
|
88
|
+
callback(null, request.result);
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
findOne(collectionName, conditions, options, callback) {
|
|
93
|
+
const tx = this.db.transaction([collectionName]);
|
|
94
|
+
const store = tx.objectStore(collectionName);
|
|
95
|
+
const conditionsKeys = Object.keys(conditions);
|
|
96
|
+
let idx;
|
|
97
|
+
let req;
|
|
98
|
+
if (conditionsKeys.length > 1) {
|
|
99
|
+
const vals = [];
|
|
100
|
+
conditionsKeys.forEach((key) => vals.push(conditions[key]));
|
|
101
|
+
idx = store.index(`${conditionsKeys.join('')}Index`);
|
|
102
|
+
req = idx.get(vals);
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
idx = store.index(`${conditionsKeys[0]}Index`);
|
|
106
|
+
req = idx.get(conditions[conditionsKeys[0]]);
|
|
107
|
+
}
|
|
108
|
+
if (callback) {
|
|
109
|
+
req.onerror = () => {
|
|
110
|
+
callback(req.error);
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
req.onsuccess = (ev) => {
|
|
114
|
+
if (!ev.target.result) {
|
|
115
|
+
callback({ message: 'Not Found' });
|
|
116
|
+
}
|
|
117
|
+
else if (callback) {
|
|
118
|
+
callback(null, ev.target.result);
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
find(collectionName, conditions, options, callback) {
|
|
123
|
+
const tx = this.db.transaction([collectionName]);
|
|
124
|
+
const store = tx.objectStore(collectionName);
|
|
125
|
+
const conditionsKeys = Object.keys(conditions);
|
|
126
|
+
let idx;
|
|
127
|
+
let req;
|
|
128
|
+
if (conditionsKeys.length > 1) {
|
|
129
|
+
const vals = [];
|
|
130
|
+
conditionsKeys.forEach((key) => vals.push(conditions[key]));
|
|
131
|
+
idx = store.index(`${conditionsKeys.join('')}Index`);
|
|
132
|
+
req = idx.openCursor(vals);
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
idx = store.index(`${conditionsKeys[0]}Index`);
|
|
136
|
+
req = idx.openCursor(conditions[conditionsKeys[0]]);
|
|
137
|
+
}
|
|
138
|
+
req.onerror = () => {
|
|
139
|
+
if (callback) {
|
|
140
|
+
callback(req.error);
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
const items = [];
|
|
144
|
+
req.onsuccess = (ev) => {
|
|
145
|
+
const cursor = ev.target.result;
|
|
146
|
+
if (cursor) {
|
|
147
|
+
items.push(cursor.value);
|
|
148
|
+
cursor.continue();
|
|
149
|
+
}
|
|
150
|
+
else if (callback) {
|
|
151
|
+
callback(null, items);
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
save(collectionName, model, callback) {
|
|
156
|
+
const record = model; // model.toJson(true, false);
|
|
157
|
+
const createNew = () => {
|
|
158
|
+
const txN = this.db.transaction([collectionName], 'readwrite');
|
|
159
|
+
const request = txN.objectStore(collectionName).add(record);
|
|
160
|
+
if (callback) {
|
|
161
|
+
request.onerror = () => callback(request.error);
|
|
162
|
+
}
|
|
163
|
+
request.onsuccess = () => {
|
|
164
|
+
record.id = request.result;
|
|
165
|
+
if (callback) {
|
|
166
|
+
callback(null, record);
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
};
|
|
170
|
+
const updateOldById = (id) => {
|
|
171
|
+
const txO = this.db.transaction([collectionName], 'readwrite');
|
|
172
|
+
const storeW = txO.objectStore(collectionName);
|
|
173
|
+
const getRequest = storeW.get(id);
|
|
174
|
+
if (callback) {
|
|
175
|
+
getRequest.onerror = () => callback(getRequest.error);
|
|
176
|
+
}
|
|
177
|
+
getRequest.onsuccess = () => {
|
|
178
|
+
const existing = getRequest.result;
|
|
179
|
+
if (!existing) {
|
|
180
|
+
callback({ message: 'Not Found' });
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
for (const p of Object.keys(record)) {
|
|
184
|
+
existing[p] = record[p];
|
|
185
|
+
}
|
|
186
|
+
const updateRequest = storeW.put(existing);
|
|
187
|
+
updateRequest.onerror = () => callback(updateRequest.error);
|
|
188
|
+
updateRequest.onsuccess = () => {
|
|
189
|
+
if (typeof (callback) === 'function') {
|
|
190
|
+
callback(null, existing);
|
|
191
|
+
}
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
};
|
|
195
|
+
};
|
|
196
|
+
if (record.id) {
|
|
197
|
+
updateOldById(record.id);
|
|
198
|
+
}
|
|
199
|
+
else if (record.integration && record.resource) {
|
|
200
|
+
this.findOne(collectionName, {
|
|
201
|
+
context: record.context || '',
|
|
202
|
+
integration: record.integration || '',
|
|
203
|
+
resource: record.resource || ''
|
|
204
|
+
}, null, (err, existing) => {
|
|
205
|
+
if (!existing) {
|
|
206
|
+
createNew();
|
|
207
|
+
}
|
|
208
|
+
else {
|
|
209
|
+
updateOldById(existing.id);
|
|
210
|
+
}
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
else {
|
|
214
|
+
createNew();
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tZXRhLXVpL3NyYy9saWIvY29tbW9uL3V0aWxzL2luZGV4ZWREYlN0b3JlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBY0gsTUFBTSxPQUFPLGNBQWM7SUFLekIsWUFBWSxTQUFpQixNQUFNO1FBQ2pDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsSUFBSyxNQUFjLENBQUMsWUFBWSxJQUFLLE1BQWMsQ0FBQyxlQUFlLElBQUssTUFBYyxDQUFDLFdBQVcsQ0FBQztJQUNuSSxDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQWdDO1FBQ3JDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDWCxPQUFPLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ2hDO1FBQ0QsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFDLEdBQUcsQ0FBQyxlQUFlLEdBQUcsQ0FBQyxFQUFPLEVBQUUsRUFBRTtZQUNoQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO1lBQzNCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUMvRixXQUFXLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUN0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QyxDQUFDO1NBQzFCO2FBQU0sSUFBSSxNQUFNLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUU7WUFDaEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUU7Z0JBQzNCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxJQUFJLEVBQUU7Z0JBQzdCLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVyxJQUFJLEVBQUU7Z0JBQ3JDLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUSxJQUFJLEVBQUU7YUFDaEMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxRQUFRLEVBQUU7b0JBQ2IsU0FBUyxFQUFFLENBQUM7aUJBQ2I7cUJBQU07b0JBQ0wsYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztpQkFDNUI7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxTQUFTLEVBQUUsQ0FBQztTQUNiO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIEBBdXRob3I6IEFsZXhhbmRlci5WYW5nZWxvdkB2b25hZ2UuY29tXG4gKiBARGF0ZTogMjAyMC0wMi0xMCAxODo0Nzo0NVxuICogQExhc3QgTW9kaWZpZWQgYnk6IEFsZXhhbmRlci5WYW5nZWxvdkB2b25hZ2UuY29tXG4gKiBATGFzdCBNb2RpZmllZCB0aW1lOiAyMDIwLTAyLTI4IDEzOjI5OjIzXG4gKi9cblxuZXhwb3J0IGludGVyZmFjZSBJU3RvcmVSZWNvcmQge1xuICBpZD86IHN0cmluZyB8IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU3RvcmUge1xuICBpbml0Q29sbGVjdGlvbihjb2xsZWN0aW9uTmFtZTogc3RyaW5nLCBjYWxsYmFjaz86IChlcnIsIHJlc3VsdD8pID0+IHZvaWQpOiBhbnk7XG4gIGZpbmRCeUlkKGNvbGxlY3Rpb25OYW1lLCBpZDogbnVtYmVyIHwgc3RyaW5nLCBjYWxsYmFjaz86IChlcnIsIHJlc3VsdD8pID0+IHZvaWQpOiBhbnk7XG4gIHNhdmUoY29sbGVjdGlvbk5hbWU6IHN0cmluZywgcmVjb3JkOiBhbnksIGNhbGxiYWNrPzogKGVyciwgcmVzdWx0PykgPT4gdm9pZCk6IGFueTtcbiAgZmluZChjb2xsZWN0aW9uTmFtZTogc3RyaW5nLCBjb25kaXRpb25zOiBhbnksIG9wdGlvbnM6IGFueSwgY2FsbGJhY2s6IChlcnIsIHJlc3VsdD8pID0+IHZvaWQpO1xuICBmaW5kT25lKGNvbGxlY3Rpb25OYW1lOiBzdHJpbmcsIGNvbmRpdGlvbnM6IGFueSwgb3B0aW9uczogYW55LCBjYWxsYmFjaz86IChlcnIsIHJlc3VsdD8pID0+IHZvaWQpO1xufVxuXG5leHBvcnQgY2xhc3MgSW5kZXhlZERiU3RvcmUgaW1wbGVtZW50cyBJU3RvcmUge1xuICBpbmR4RGI6IElEQkZhY3Rvcnk7XG4gIGRiOiBJREJEYXRhYmFzZTtcbiAgZGJOYW1lOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoZGJOYW1lOiBzdHJpbmcgPSAndmdpcCcpIHtcbiAgICB0aGlzLmRiTmFtZSA9IGRiTmFtZTtcbiAgICB0aGlzLmluZHhEYiA9IHdpbmRvdy5pbmRleGVkREIgfHwgKHdpbmRvdyBhcyBhbnkpLm1vekluZGV4ZWREQiB8fCAod2luZG93IGFzIGFueSkud2Via2l0SW5kZXhlZERCIHx8ICh3aW5kb3cgYXMgYW55KS5tc0luZGV4ZWREQjtcbiAgfVxuXG4gIF9nZXREYihjYWxsYmFjazogKGVyciwgcmVzdWx0PykgPT4gdm9pZCkge1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIGlmICh0aGlzLmRiKSB7XG4gICAgICByZXR1cm4gY2FsbGJhY2sobnVsbCwgdGhpcy5kYik7XG4gICAgfVxuICAgIGNvbnN0IHJlcSA9IHRoaXMuaW5keERiLm9wZW4odGhpcy5kYk5hbWUpO1xuICAgIHJlcS5vbnVwZ3JhZGVuZWVkZWQgPSAoZXY6IGFueSkgPT4ge1xuICAgICAgc2VsZi5kYiA9IGV2LnRhcmdldC5yZXN1bHQ7XG4gICAgICBjb25zdCBvYmplY3RTdG9yZSA9IHNlbGYuZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ0RyYWZ0JywgeyBrZXlQYXRoOiAnaWQnLCBhdXRvSW5jcmVtZW50OiB0cnVlIH0pO1xuICAgICAgb2JqZWN0U3RvcmUuY3JlYXRlSW5kZXgoJ2NvbnRleHRJbmRleCcsICdjb250ZXh0JywgeyB1bmlxdWU6IGZhbHNlIH0pO1xuICAgICAgb2JqZWN0U3RvcmUuY3JlYXRlSW5kZXgoJ2NvbnRleHRpbnRlZ3JhdGlvbkluZGV4JywgWydjb250ZXh0JywgJ2ludGVncmF0aW9uJ10sIHsgdW5pcXVlOiBmYWxzZSB9KTtcbiAgICAgIG9iamVjdFN0b3JlLmNyZWF0ZUluZGV4KCdjb250ZXh0aW50ZWdyYXRpb25yZXNvdXJjZUluZGV4JywgWydjb250ZXh0JywgJ2ludGVncmF0aW9uJywgJ3Jlc291cmNlJ10sIHsgdW5pcXVlOiB0cnVlIH0pO1xuICAgIH07XG4gICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICByZXEub25zdWNjZXNzID0gKGV2OiBhbnkpID0+IHtcbiAgICAgICAgc2VsZi5kYiA9IGV2LnRhcmdldC5yZXN1bHQ7XG4gICAgICAgIGNhbGxiYWNrKG51bGwsIHNlbGYuZGIpO1xuICAgICAgfTtcbiAgICB9XG4gICAgcmVxLm9uZXJyb3IgPSAoZXY6IGFueSkgPT4ge1xuICAgICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICAgIGNhbGxiYWNrKGV2LmVycm9yKTtcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgaW5pdENvbGxlY3Rpb24oY29sbGVjdGlvbk5hbWU6IHN0cmluZywgY2FsbGJhY2s6IChlcnIsIHJlc3VsdD8pID0+IHZvaWQpIHtcbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICB0aGlzLl9nZXREYigoZXJyKSA9PiB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW5kZXJzY29yZS1kYW5nbGVcbiAgICAgIGlmIChlcnIgJiYgY2FsbGJhY2spIHtcbiAgICAgICAgcmV0dXJuIGNhbGxiYWNrKGVycik7XG4gICAgICB9XG4gICAgICBpZiAoY2FsbGJhY2spIHtcbiAgICAgICAgY2FsbGJhY2sobnVsbCwgc2VsZi5kYik7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZXNldChjYWxsYmFjazogKGVyciwgcmVzdWx0PykgPT4gdm9pZCkge1xuICAgIHRoaXMuX2dldERiKChlcnIpID0+IHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bmRlcnNjb3JlLWRhbmdsZVxuICAgICAgaWYgKGVycikge1xuICAgICAgICByZXR1cm4gY2FsbGJhY2soZXJyKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZGIuY2xvc2UoKTtcbiAgICAgIHRoaXMuaW5keERiLmRlbGV0ZURhdGFiYXNlKHRoaXMuZGJOYW1lKTtcbiAgICAgIGRlbGV0ZSB0aGlzLmRiO1xuICAgICAgdGhpcy5fZ2V0RGIoY2FsbGJhY2spOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVuZGVyc2NvcmUtZGFuZ2xlXG4gICAgfSk7XG4gIH1cblxuICBmaW5kQnlJZChjb2xsZWN0aW9uTmFtZTogc3RyaW5nLCBpZDogbnVtYmVyIHwgc3RyaW5nLCBjYWxsYmFjazogKGVyciwgcmVzdWx0PykgPT4gdm9pZCk6IGFueSB7XG4gICAgY29uc3QgdHggPSB0aGlzLmRiLnRyYW5zYWN0aW9uKFtjb2xsZWN0aW9uTmFtZV0pO1xuICAgIGNvbnN0IHN0b3JlID0gdHgub2JqZWN0U3RvcmUoY29sbGVjdGlvbk5hbWUpO1xuICAgIGNvbnN0IHJlcXVlc3QgPSBzdG9yZS5nZXQocGFyc2VJbnQoYCR7aWR9YCwgMTApKTtcbiAgICBpZiAoY2FsbGJhY2spIHtcbiAgICAgIHJlcXVlc3Qub25lcnJvciA9ICgpID0+IHtcbiAgICAgICAgY2FsbGJhY2socmVxdWVzdC5lcnJvcik7XG4gICAgICB9O1xuICAgIH1cbiAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9ICgpID0+IHtcbiAgICAgIGlmICghcmVxdWVzdC5yZXN1bHQpIHtcbiAgICAgICAgY2FsbGJhY2soeyBtZXNzYWdlOiAnTm90IEZvdW5kJyB9KTtcbiAgICAgIH0gZWxzZSBpZiAoY2FsbGJhY2spIHtcbiAgICAgICAgY2FsbGJhY2sobnVsbCwgcmVxdWVzdC5yZXN1bHQpO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBkZXN0cm95QnlJZChjb2xsZWN0aW9uTmFtZTogc3RyaW5nLCBpZDogbnVtYmVyIHwgc3RyaW5nLCBjYWxsYmFjazogKGVyciwgcmVzdWx0PykgPT4gdm9pZCk6IGFueSB7XG4gICAgY29uc3QgdHggPSB0aGlzLmRiLnRyYW5zYWN0aW9uKFtjb2xsZWN0aW9uTmFtZV0sICdyZWFkd3JpdGUnKTtcbiAgICBjb25zdCBzdG9yZSA9IHR4Lm9iamVjdFN0b3JlKGNvbGxlY3Rpb25OYW1lKTtcbiAgICBjb25zdCByZXF1ZXN0ID0gc3RvcmUuZGVsZXRlKHBhcnNlSW50KGAke2lkfWAsIDEwKSk7XG4gICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICByZXF1ZXN0Lm9uZXJyb3IgPSAoKSA9PiB7XG4gICAgICAgIGNhbGxiYWNrKHJlcXVlc3QuZXJyb3IpO1xuICAgICAgfTtcbiAgICB9XG4gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSAoKSA9PiB7XG4gICAgICBpZiAoY2FsbGJhY2spIHtcbiAgICAgICAgY2FsbGJhY2sobnVsbCwgcmVxdWVzdC5yZXN1bHQpO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBmaW5kT25lKGNvbGxlY3Rpb25OYW1lOiBzdHJpbmcsIGNvbmRpdGlvbnM6IGFueSwgb3B0aW9uczogYW55LCBjYWxsYmFjaz86IChlcnIsIHJlc3VsdD8pID0+IHZvaWQpOiBhbnkge1xuICAgIGNvbnN0IHR4ID0gdGhpcy5kYi50cmFuc2FjdGlvbihbY29sbGVjdGlvbk5hbWVdKTtcbiAgICBjb25zdCBzdG9yZSA9IHR4Lm9iamVjdFN0b3JlKGNvbGxlY3Rpb25OYW1lKTtcbiAgICBjb25zdCBjb25kaXRpb25zS2V5cyA9IE9iamVjdC5rZXlzKGNvbmRpdGlvbnMpO1xuICAgIGxldCBpZHg6IElEQkluZGV4O1xuICAgIGxldCByZXE6IElEQlJlcXVlc3Q7XG4gICAgaWYgKGNvbmRpdGlvbnNLZXlzLmxlbmd0aCA+IDEpIHtcbiAgICAgIGNvbnN0IHZhbHMgPSBbXTtcbiAgICAgIGNvbmRpdGlvbnNLZXlzLmZvckVhY2goKGtleSkgPT4gdmFscy5wdXNoKGNvbmRpdGlvbnNba2V5XSkpO1xuICAgICAgaWR4ID0gc3RvcmUuaW5kZXgoYCR7Y29uZGl0aW9uc0tleXMuam9pbignJyl9SW5kZXhgKTtcbiAgICAgIHJlcSA9IGlkeC5nZXQodmFscyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlkeCA9IHN0b3JlLmluZGV4KGAke2NvbmRpdGlvbnNLZXlzWzBdfUluZGV4YCk7XG4gICAgICByZXEgPSBpZHguZ2V0KGNvbmRpdGlvbnNbY29uZGl0aW9uc0tleXNbMF1dKTtcbiAgICB9XG4gICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICByZXEub25lcnJvciA9ICgpID0+IHtcbiAgICAgICAgY2FsbGJhY2socmVxLmVycm9yKTtcbiAgICAgIH07XG4gICAgfVxuICAgIHJlcS5vbnN1Y2Nlc3MgPSAoZXY6IGFueSkgPT4ge1xuICAgICAgaWYgKCFldi50YXJnZXQucmVzdWx0KSB7XG4gICAgICAgIGNhbGxiYWNrKHsgbWVzc2FnZTogJ05vdCBGb3VuZCcgfSk7XG4gICAgICB9IGVsc2UgaWYgKGNhbGxiYWNrKSB7XG4gICAgICAgIGNhbGxiYWNrKG51bGwsIGV2LnRhcmdldC5yZXN1bHQpO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBmaW5kKGNvbGxlY3Rpb25OYW1lOiBzdHJpbmcsIGNvbmRpdGlvbnM6IGFueSwgb3B0aW9uczogYW55LCBjYWxsYmFjaz86IChlcnIsIHJlc3VsdD8pID0+IHZvaWQpOiBBcnJheTxJU3RvcmVSZWNvcmQ+IHwgYW55IHtcbiAgICBjb25zdCB0eCA9IHRoaXMuZGIudHJhbnNhY3Rpb24oW2NvbGxlY3Rpb25OYW1lXSk7XG4gICAgY29uc3Qgc3RvcmUgPSB0eC5vYmplY3RTdG9yZShjb2xsZWN0aW9uTmFtZSk7XG4gICAgY29uc3QgY29uZGl0aW9uc0tleXMgPSBPYmplY3Qua2V5cyhjb25kaXRpb25zKTtcbiAgICBsZXQgaWR4OiBJREJJbmRleDtcbiAgICBsZXQgcmVxOiBJREJSZXF1ZXN0O1xuICAgIGlmIChjb25kaXRpb25zS2V5cy5sZW5ndGggPiAxKSB7XG4gICAgICBjb25zdCB2YWxzID0gW107XG4gICAgICBjb25kaXRpb25zS2V5cy5mb3JFYWNoKChrZXkpID0+IHZhbHMucHVzaChjb25kaXRpb25zW2tleV0pKTtcbiAgICAgIGlkeCA9IHN0b3JlLmluZGV4KGAke2NvbmRpdGlvbnNLZXlzLmpvaW4oJycpfUluZGV4YCk7XG4gICAgICByZXEgPSBpZHgub3BlbkN1cnNvcih2YWxzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWR4ID0gc3RvcmUuaW5kZXgoYCR7Y29uZGl0aW9uc0tleXNbMF19SW5kZXhgKTtcbiAgICAgIHJlcSA9IGlkeC5vcGVuQ3Vyc29yKGNvbmRpdGlvbnNbY29uZGl0aW9uc0tleXNbMF1dKTtcbiAgICB9XG4gICAgcmVxLm9uZXJyb3IgPSAoKSA9PiB7XG4gICAgICBpZiAoY2FsbGJhY2spIHtcbiAgICAgICAgY2FsbGJhY2socmVxLmVycm9yKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIGNvbnN0IGl0ZW1zID0gW107XG4gICAgcmVxLm9uc3VjY2VzcyA9IChldjogYW55KSA9PiB7XG4gICAgICBjb25zdCBjdXJzb3IgPSBldi50YXJnZXQucmVzdWx0O1xuICAgICAgaWYgKGN1cnNvcikge1xuICAgICAgICBpdGVtcy5wdXNoKGN1cnNvci52YWx1ZSk7XG4gICAgICAgIGN1cnNvci5jb250aW51ZSgpO1xuICAgICAgfSBlbHNlIGlmIChjYWxsYmFjaykge1xuICAgICAgICBjYWxsYmFjayhudWxsLCBpdGVtcyk7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIHNhdmUoY29sbGVjdGlvbk5hbWU6IHN0cmluZywgbW9kZWw6IGFueSwgY2FsbGJhY2s/OiAoZXJyLCByZXN1bHQ/KSA9PiB2b2lkKSB7XG4gICAgY29uc3QgcmVjb3JkID0gbW9kZWw7IC8vIG1vZGVsLnRvSnNvbih0cnVlLCBmYWxzZSk7XG4gICAgY29uc3QgY3JlYXRlTmV3ID0gKCkgPT4ge1xuICAgICAgY29uc3QgdHhOID0gdGhpcy5kYi50cmFuc2FjdGlvbihbY29sbGVjdGlvbk5hbWVdLCAncmVhZHdyaXRlJyk7XG4gICAgICBjb25zdCByZXF1ZXN0ID0gdHhOLm9iamVjdFN0b3JlKGNvbGxlY3Rpb25OYW1lKS5hZGQocmVjb3JkKTtcbiAgICAgIGlmIChjYWxsYmFjaykge1xuICAgICAgICByZXF1ZXN0Lm9uZXJyb3IgPSAoKSA9PiBjYWxsYmFjayhyZXF1ZXN0LmVycm9yKTtcbiAgICAgIH1cbiAgICAgIHJlcXVlc3Qub25zdWNjZXNzID0gKCkgPT4ge1xuICAgICAgICByZWNvcmQuaWQgPSByZXF1ZXN0LnJlc3VsdDtcbiAgICAgICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICAgICAgY2FsbGJhY2sobnVsbCwgcmVjb3JkKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9O1xuXG4gICAgY29uc3QgdXBkYXRlT2xkQnlJZCA9IChpZCkgPT4ge1xuICAgICAgY29uc3QgdHhPID0gdGhpcy5kYi50cmFuc2FjdGlvbihbY29sbGVjdGlvbk5hbWVdLCAncmVhZHdyaXRlJyk7XG4gICAgICBjb25zdCBzdG9yZVcgPSB0eE8ub2JqZWN0U3RvcmUoY29sbGVjdGlvbk5hbWUpO1xuICAgICAgY29uc3QgZ2V0UmVxdWVzdCA9IHN0b3JlVy5nZXQoaWQpO1xuICAgICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICAgIGdldFJlcXVlc3Qub25lcnJvciA9ICgpID0+IGNhbGxiYWNrKGdldFJlcXVlc3QuZXJyb3IpO1xuICAgICAgfVxuICAgICAgZ2V0UmVxdWVzdC5vbnN1Y2Nlc3MgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGV4aXN0aW5nID0gZ2V0UmVxdWVzdC5yZXN1bHQ7XG4gICAgICAgIGlmICghZXhpc3RpbmcpIHtcbiAgICAgICAgICBjYWxsYmFjayh7IG1lc3NhZ2U6ICdOb3QgRm91bmQnIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGZvciAoY29uc3QgcCBvZiBPYmplY3Qua2V5cyhyZWNvcmQpKSB7XG4gICAgICAgICAgICBleGlzdGluZ1twXSA9IHJlY29yZFtwXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgdXBkYXRlUmVxdWVzdCA9IHN0b3JlVy5wdXQoZXhpc3RpbmcpO1xuICAgICAgICAgIHVwZGF0ZVJlcXVlc3Qub25lcnJvciA9ICgpID0+IGNhbGxiYWNrKHVwZGF0ZVJlcXVlc3QuZXJyb3IpO1xuICAgICAgICAgIHVwZGF0ZVJlcXVlc3Qub25zdWNjZXNzID0gKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiAoY2FsbGJhY2spID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgIGNhbGxiYWNrKG51bGwsIGV4aXN0aW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH07XG5cbiAgICBpZiAocmVjb3JkLmlkKSB7XG4gICAgICB1cGRhdGVPbGRCeUlkKHJlY29yZC5pZCk7XG4gICAgfSBlbHNlIGlmIChyZWNvcmQuaW50ZWdyYXRpb24gJiYgcmVjb3JkLnJlc291cmNlKSB7XG4gICAgICB0aGlzLmZpbmRPbmUoY29sbGVjdGlvbk5hbWUsIHtcbiAgICAgICAgY29udGV4dDogcmVjb3JkLmNvbnRleHQgfHwgJycsXG4gICAgICAgIGludGVncmF0aW9uOiByZWNvcmQuaW50ZWdyYXRpb24gfHwgJycsXG4gICAgICAgIHJlc291cmNlOiByZWNvcmQucmVzb3VyY2UgfHwgJydcbiAgICAgIH0sIG51bGwsIChlcnIsIGV4aXN0aW5nKSA9PiB7XG4gICAgICAgIGlmICghZXhpc3RpbmcpIHtcbiAgICAgICAgICBjcmVhdGVOZXcoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB1cGRhdGVPbGRCeUlkKGV4aXN0aW5nLmlkKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNyZWF0ZU5ldygpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -5,11 +5,11 @@ export const templateBuilder = (metaContext, pattern) => {
|
|
|
5
5
|
return;
|
|
6
6
|
}
|
|
7
7
|
else {
|
|
8
|
-
return (pattern || '').replace(/\${\s*([\w
|
|
8
|
+
return (pattern || '').replace(/\${\s*([\w.]+)\s*}/g, 'N/A');
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
const padTime = (t) => t < 10 ? '0' + t : t;
|
|
12
|
-
const patternBuilder = (pattern || '').replace(/\${\s*([\w
|
|
12
|
+
const patternBuilder = (pattern || '').replace(/\${\s*([\w.]+)\s*}/g, (match, value) => {
|
|
13
13
|
switch (value) {
|
|
14
14
|
case 'direction': {
|
|
15
15
|
return (context[value] || '').toUpperCase() === 'INBOUND' ? 'Inbound' : 'Outbound';
|
|
@@ -89,4 +89,4 @@ export const templateBuilder = (metaContext, pattern) => {
|
|
|
89
89
|
});
|
|
90
90
|
return patternBuilder;
|
|
91
91
|
};
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGVCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWV0YS11aS9zcmMvbGliL2NvbW1vbi91dGlscy90ZW1wbGF0ZUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxFQUFFO0lBQ3RELE1BQU0sT0FBTyxHQUFHLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUM1QyxJQUFJLENBQUMsT0FBTyxFQUFFO1FBQ1osSUFBSSxDQUFDLE9BQU8sSUFBSSxPQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssUUFBUSxFQUFFO1lBQzVDLE9BQU87U0FDUjthQUFNO1lBQ0wsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMscUJBQXFCLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDOUQ7S0FDRjtJQUVELE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFNUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQ3JGLFFBQVEsS0FBSyxFQUFFO1lBQ2IsS0FBSyxXQUFXLENBQUMsQ0FBQztnQkFDaEIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO2FBQ3JGO1lBQ0QsS0FBSyxNQUFNLENBQUMsQ0FBQztnQkFDWCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksU0FBUyxDQUFDLENBQUM7YUFDakY7WUFDRCxLQUFLLFNBQVMsQ0FBQyxDQUFDLEVBQUUsNkJBQTZCO2dCQUM3QyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksU0FBUyxDQUFDLENBQUM7YUFDakY7WUFDRCxLQUFLLE1BQU0sQ0FBQyxDQUFDO2dCQUNYLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2FBQ3pDO1lBQ0QsS0FBSyxhQUFhLENBQUMsQ0FBQztnQkFDbEIsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDdkI7WUFDRCxLQUFLLGdCQUFnQixDQUFDLENBQUM7Z0JBQ3JCLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7YUFDMUU7WUFDRCxLQUFLLFdBQVcsQ0FBQyxDQUFDO2dCQUNoQixJQUFJO29CQUNGLE1BQU0sUUFBUSxHQUFHLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztvQkFDakYsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO29CQUNyQyxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztvQkFDM0MsT0FBTyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztpQkFDM0I7Z0JBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQywyQkFBMkIsRUFBRSxDQUFDLENBQUMsQ0FBQztpQkFDL0M7Z0JBQ0QsT0FBTyxFQUFFLENBQUM7YUFDWDtZQUNELEtBQUssVUFBVSxDQUFDLENBQUM7Z0JBQ2YsSUFBSTtvQkFDRixJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxRQUFRLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRTt3QkFDM0QsT0FBTyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxLQUFLLENBQUM7cUJBQ2pEO2lCQUNGO2dCQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsMEJBQTBCLEVBQUUsQ0FBQyxDQUFDLENBQUM7aUJBQzlDO2dCQUNELE9BQU8sT0FBTyxDQUFDO2FBQ2hCO1lBQ0QsS0FBSyxhQUFhLENBQUMsQ0FBQztnQkFDbEIsSUFBSTtvQkFDRixJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssUUFBUSxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUU7d0JBQzdELE9BQU8sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUM7cUJBQ3pEO2lCQUNGO2dCQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxDQUFDLENBQUM7aUJBQzNDO2dCQUNELE9BQU8sTUFBTSxDQUFDO2FBQ2Y7WUFDRCxLQUFLLGNBQWMsQ0FBQyxDQUFDO2dCQUNuQixJQUFJO29CQUNGLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxRQUFRLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRTt3QkFDN0QsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsQ0FBQyx3QkFBd0I7d0JBQ2xFLElBQUksUUFBUSxHQUFHLENBQUMsRUFBRTs0QkFDaEIsT0FBTyxPQUFPLENBQUM7eUJBQ2hCO3dCQUVELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxDQUFDO3dCQUMxQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO3dCQUNuRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUMsQ0FBQzt3QkFFMUMsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7d0JBQ3JELE9BQU8sVUFBVSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO3FCQUMvRDtpQkFDRjtnQkFBQyxPQUFPLENBQUMsRUFBRTtvQkFDVixPQUFPLENBQUMsS0FBSyxDQUFDLDBCQUEwQixFQUFFLENBQUMsQ0FBQyxDQUFDO2lCQUM5QztnQkFDRCxPQUFPLE9BQU8sQ0FBQzthQUNoQjtZQUNELE9BQU8sQ0FBQyxDQUFDO2dCQUNQLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3ZCO1NBQ0Y7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sY0FBYyxDQUFDO0FBQ3hCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCB0ZW1wbGF0ZUJ1aWxkZXIgPSAobWV0YUNvbnRleHQsIHBhdHRlcm4pID0+IHtcbiAgY29uc3QgY29udGV4dCA9IChtZXRhQ29udGV4dCB8fCB7fSkuY29udGV4dDtcbiAgaWYgKCFjb250ZXh0KSB7XG4gICAgaWYgKCFwYXR0ZXJuIHx8IHR5cGVvZihwYXR0ZXJuKSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIChwYXR0ZXJuIHx8ICcnKS5yZXBsYWNlKC9cXCR7XFxzKihbXFx3Ll0rKVxccyp9L2csICdOL0EnKTtcbiAgICB9XG4gIH1cblxuICBjb25zdCBwYWRUaW1lID0gKHQpID0+IHQgPCAxMCA/ICcwJyArIHQgOiB0O1xuXG4gIGNvbnN0IHBhdHRlcm5CdWlsZGVyID0gKHBhdHRlcm4gfHwgJycpLnJlcGxhY2UoL1xcJHtcXHMqKFtcXHcuXSspXFxzKn0vZywgKG1hdGNoLCB2YWx1ZSkgPT4ge1xuICAgIHN3aXRjaCAodmFsdWUpIHtcbiAgICAgIGNhc2UgJ2RpcmVjdGlvbic6IHtcbiAgICAgICAgcmV0dXJuIChjb250ZXh0W3ZhbHVlXSB8fCAnJykudG9VcHBlckNhc2UoKSA9PT0gJ0lOQk9VTkQnID8gICdJbmJvdW5kJyA6ICdPdXRib3VuZCc7XG4gICAgICB9XG4gICAgICBjYXNlICduYW1lJzoge1xuICAgICAgICByZXR1cm4gY29udGV4dC5jb250YWN0ID8gY29udGV4dC5jb250YWN0Lm5hbWUgOiAoY29udGV4dC5jYWxsZXJJZCB8fCAnVW5rbm93bicpO1xuICAgICAgfVxuICAgICAgY2FzZSAnY29udGFjdCc6IHsgLy8gKEZFLUJFIGNvbnRyYWN0IHZpb2xhdGlvbilcbiAgICAgICAgcmV0dXJuIGNvbnRleHQuY29udGFjdCA/IGNvbnRleHQuY29udGFjdC5uYW1lIDogKGNvbnRleHQuY2FsbGVySWQgfHwgJ1Vua25vd24nKTtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ3R5cGUnOiB7XG4gICAgICAgIHJldHVybiBjb250ZXh0LnR5cGUgPyBjb250ZXh0LnR5cGUgOiAnJztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ3Bob25lTnVtYmVyJzoge1xuICAgICAgICByZXR1cm4gY29udGV4dFt2YWx1ZV07XG4gICAgICB9XG4gICAgICBjYXNlICdkaXJlY3Rpb25BcnJvdyc6IHtcbiAgICAgICAgcmV0dXJuIChjb250ZXh0LmRpcmVjdGlvbiB8fCAnJykudG9VcHBlckNhc2UoKSA9PT0gJ0lOQk9VTkQnID8gJ+KshycgOiAn4qyGJztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ3RpbWVzdGFtcCc6IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBjYWxsVGltZSA9IG5ldyBEYXRlKGNvbnRleHQuYW5zd2VyVGltZSB8fCBjb250ZXh0LnN0YXJ0VGltZSB8fCBEYXRlLm5vdygpKTtcbiAgICAgICAgICBjb25zdCBkYXRlID0gY2FsbFRpbWUudG9EYXRlU3RyaW5nKCk7XG4gICAgICAgICAgY29uc3QgdGltZSA9IGNhbGxUaW1lLnRvTG9jYWxlVGltZVN0cmluZygpO1xuICAgICAgICAgIHJldHVybiBkYXRlICsgJywgJyArIHRpbWU7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdjb250ZXh0IHdpdGhvdXQgc3RhcnRUaW1lJywgZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICcnO1xuICAgICAgfVxuICAgICAgY2FzZSAnZHVyYXRpb24nOiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiAoY29udGV4dFt2YWx1ZV0pID09PSAnbnVtYmVyJyAmJiBjb250ZXh0LmVuZFRpbWUpIHtcbiAgICAgICAgICAgIHJldHVybiAnKCcgKyAoY29udGV4dFt2YWx1ZV0pLnRvRml4ZWQoKSArICdtcyknO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ2NvbnRleHQgd2l0aG91dCBkdXJhdGlvbicsIGUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAnKDBtcyknO1xuICAgICAgfVxuICAgICAgY2FzZSAnZHVyYXRpb25TZWMnOiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiAoY29udGV4dC5kdXJhdGlvbikgPT09ICdudW1iZXInICYmIGNvbnRleHQuZW5kVGltZSkge1xuICAgICAgICAgICAgcmV0dXJuICcoJyArIChjb250ZXh0LmR1cmF0aW9uIC8gMTAwMCkudG9GaXhlZCgpICsgJ3MpJztcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdjYWxsIHdpdGhvdXQgZHVyYXRpb24nLCBlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJygwcyknO1xuICAgICAgfVxuICAgICAgY2FzZSAnZHVyYXRpb25UaW1lJzoge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGlmICh0eXBlb2YgKGNvbnRleHQuZHVyYXRpb24pID09PSAnbnVtYmVyJyAmJiBjb250ZXh0LmVuZFRpbWUpIHtcbiAgICAgICAgICAgIGNvbnN0IGR1cmF0aW9uID0gY29udGV4dC5kdXJhdGlvbiAvIDEwMDA7IC8vIGNvbnZlcnQgaXQgdG8gc2Vjb25kc1xuICAgICAgICAgICAgaWYgKGR1cmF0aW9uIDwgMCkge1xuICAgICAgICAgICAgICByZXR1cm4gJzAwOjAwJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgaG91cnMgPSBNYXRoLmZsb29yKGR1cmF0aW9uIC8gMzYwMCk7XG4gICAgICAgICAgICBjb25zdCBtaW51dGVzID0gTWF0aC5mbG9vcigoZHVyYXRpb24gJSAzNjAwKSAvIDYwKTtcbiAgICAgICAgICAgIGNvbnN0IHNlY29uZHMgPSBNYXRoLmZsb29yKGR1cmF0aW9uICUgNjApO1xuXG4gICAgICAgICAgICBjb25zdCBjaGVja0hvdXJzID0gaG91cnMgPyBwYWRUaW1lKGhvdXJzKSArICc6JyA6ICcnO1xuICAgICAgICAgICAgcmV0dXJuIGNoZWNrSG91cnMgKyBwYWRUaW1lKG1pbnV0ZXMpICsgJzonICsgcGFkVGltZShzZWNvbmRzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdjb250ZXh0IHdpdGhvdXQgZHVyYXRpb24nLCBlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJzAwOjAwJztcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgcmV0dXJuIGNvbnRleHRbdmFsdWVdO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG4gIHJldHVybiBwYXR0ZXJuQnVpbGRlcjtcbn07XG4iXX0=
|