@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.
Files changed (185) hide show
  1. package/{esm2020 → esm2022}/lib/common/metaAutofocus.directive.mjs +4 -4
  2. package/esm2022/lib/common/metaIcons.pipe.mjs +29 -0
  3. package/esm2022/lib/common/metaModel.pipe.mjs +23 -0
  4. package/esm2022/lib/common/metaNormalizer.mjs +341 -0
  5. package/{esm2020 → esm2022}/lib/common/metaStripHtml.pipe.mjs +4 -4
  6. package/esm2022/lib/common/utils/colorThemes.mjs +77 -0
  7. package/esm2022/lib/common/utils/indexedDbStore/index.mjs +218 -0
  8. package/{esm2020 → esm2022}/lib/common/utils/templateBuilder.mjs +3 -3
  9. package/esm2022/lib/fieldAbstract.mjs +291 -0
  10. package/{esm2020 → esm2022}/lib/fieldBoolean/index.mjs +4 -4
  11. package/{esm2020 → esm2022}/lib/fieldComposite/index.mjs +4 -4
  12. package/esm2022/lib/fieldDatetime/index.mjs +365 -0
  13. package/{esm2020 → esm2022}/lib/fieldHidden/index.mjs +4 -4
  14. package/{esm2020 → esm2022}/lib/fieldInput/index.mjs +5 -5
  15. package/esm2022/lib/fieldList/index.mjs +69 -0
  16. package/{esm2020 → esm2022}/lib/fieldRadio/index.mjs +5 -5
  17. package/esm2022/lib/fieldReference/index.mjs +829 -0
  18. package/esm2022/lib/fieldRichtext/index.mjs +95 -0
  19. package/esm2022/lib/fieldSelect/index.mjs +495 -0
  20. package/{esm2020 → esm2022}/lib/fieldText/index.mjs +5 -5
  21. package/esm2022/lib/fieldUnknown/index.mjs +19 -0
  22. package/esm2022/lib/index.mjs +163 -0
  23. package/esm2022/lib/layout/index.mjs +155 -0
  24. package/{esm2020 → esm2022}/lib/metaField/index.mjs +7 -7
  25. package/esm2022/lib/refDialog/index.mjs +135 -0
  26. package/esm2022/lib/resource/index.mjs +495 -0
  27. package/{esm2020 → esm2022}/lib/resourceCard/index.mjs +4 -4
  28. package/{esm2020 → esm2022}/lib/services/metaContext/index.mjs +4 -4
  29. package/esm2022/lib/services/metaMsg/index.mjs +84 -0
  30. package/esm2022/lib/services/metaReference/index.mjs +89 -0
  31. package/{esm2020 → esm2022}/lib/services/metaResource/index.mjs +7 -7
  32. package/{esm2020 → esm2022}/lib/services/metaResource/metaHttpClient.mjs +5 -5
  33. package/{esm2020 → esm2022}/lib/services/metaTracker/index.mjs +4 -4
  34. package/esm2022/lib/services/resourceDrafts/index.mjs +69 -0
  35. package/{fesm2020/vgip-meta-ui-fieldAbstract-f7d80db6.mjs → fesm2022/vgip-meta-ui-fieldAbstract-9955be39.mjs} +10 -8
  36. package/fesm2022/vgip-meta-ui-fieldAbstract-9955be39.mjs.map +1 -0
  37. package/{fesm2020/vgip-meta-ui-index-301b28cd.mjs → fesm2022/vgip-meta-ui-index-39011b04.mjs} +20 -20
  38. package/{fesm2020/vgip-meta-ui-index-301b28cd.mjs.map → fesm2022/vgip-meta-ui-index-39011b04.mjs.map} +1 -1
  39. package/{fesm2020/vgip-meta-ui-index-4fcefde0.mjs → fesm2022/vgip-meta-ui-index-3bc3d41b.mjs} +88 -56
  40. package/fesm2022/vgip-meta-ui-index-3bc3d41b.mjs.map +1 -0
  41. package/fesm2022/vgip-meta-ui-index-3fda8c0e.mjs +74 -0
  42. package/fesm2022/vgip-meta-ui-index-3fda8c0e.mjs.map +1 -0
  43. package/fesm2022/vgip-meta-ui-index-5871a6f2.mjs +95 -0
  44. package/fesm2022/vgip-meta-ui-index-5871a6f2.mjs.map +1 -0
  45. package/fesm2022/vgip-meta-ui-index-5891b8e7.mjs +24 -0
  46. package/fesm2022/vgip-meta-ui-index-5891b8e7.mjs.map +1 -0
  47. package/{fesm2020/vgip-meta-ui-index-87041aad.mjs → fesm2022/vgip-meta-ui-index-5d13f5e6.mjs} +5 -5
  48. package/{fesm2015/vgip-meta-ui-index-87041aad.mjs.map → fesm2022/vgip-meta-ui-index-5d13f5e6.mjs.map} +1 -1
  49. package/fesm2022/vgip-meta-ui-index-9e4137fe.mjs +68 -0
  50. package/fesm2022/vgip-meta-ui-index-9e4137fe.mjs.map +1 -0
  51. package/fesm2022/vgip-meta-ui-index-a2a973a6.mjs +862 -0
  52. package/fesm2022/vgip-meta-ui-index-a2a973a6.mjs.map +1 -0
  53. package/{fesm2015/vgip-meta-ui-index-81aa79dc.mjs → fesm2022/vgip-meta-ui-index-af4eda3c.mjs} +8 -8
  54. package/fesm2022/vgip-meta-ui-index-af4eda3c.mjs.map +1 -0
  55. package/fesm2022/vgip-meta-ui-index-b0a76073.mjs +97 -0
  56. package/fesm2022/vgip-meta-ui-index-b0a76073.mjs.map +1 -0
  57. package/fesm2022/vgip-meta-ui-index-b48e32ce.mjs +502 -0
  58. package/fesm2022/vgip-meta-ui-index-b48e32ce.mjs.map +1 -0
  59. package/{fesm2020/vgip-meta-ui-index-2b20afc8.mjs → fesm2022/vgip-meta-ui-index-b6fcc07d.mjs} +10 -8
  60. package/fesm2022/vgip-meta-ui-index-b6fcc07d.mjs.map +1 -0
  61. package/{fesm2015/vgip-meta-ui-index-bf5b6c0f.mjs → fesm2022/vgip-meta-ui-index-c39ea0ec.mjs} +6 -6
  62. package/{fesm2020/vgip-meta-ui-index-bf5b6c0f.mjs.map → fesm2022/vgip-meta-ui-index-c39ea0ec.mjs.map} +1 -1
  63. package/{fesm2020/vgip-meta-ui-index-6e77c362.mjs → fesm2022/vgip-meta-ui-index-ea5c2466.mjs} +6 -6
  64. package/fesm2022/vgip-meta-ui-index-ea5c2466.mjs.map +1 -0
  65. package/{fesm2020/vgip-meta-ui-index-b92a559b.mjs → fesm2022/vgip-meta-ui-index-fef499eb.mjs} +6 -6
  66. package/{fesm2020/vgip-meta-ui-index-b92a559b.mjs.map → fesm2022/vgip-meta-ui-index-fef499eb.mjs.map} +1 -1
  67. package/fesm2022/vgip-meta-ui-metaModel.pipe-6b803e66.mjs +26 -0
  68. package/fesm2022/vgip-meta-ui-metaModel.pipe-6b803e66.mjs.map +1 -0
  69. package/{fesm2015 → fesm2022}/vgip-meta-ui.mjs +108 -103
  70. package/fesm2022/vgip-meta-ui.mjs.map +1 -0
  71. package/lib/common/metaAutofocus.directive.d.ts +1 -1
  72. package/lib/common/metaIcons.pipe.d.ts +1 -1
  73. package/lib/common/metaModel.pipe.d.ts +1 -2
  74. package/lib/common/utils/indexedDbStore/index.d.ts +2 -2
  75. package/lib/fieldAbstract.d.ts +0 -4
  76. package/lib/fieldBoolean/index.d.ts +1 -1
  77. package/lib/fieldComposite/index.d.ts +1 -1
  78. package/lib/fieldRadio/index.d.ts +1 -1
  79. package/lib/fieldReference/index.d.ts +1 -1
  80. package/lib/fieldRichtext/index.d.ts +6 -8
  81. package/lib/fieldSelect/index.d.ts +1 -1
  82. package/lib/fieldText/index.d.ts +1 -1
  83. package/lib/layout/index.d.ts +5 -5
  84. package/lib/metaField/index.d.ts +1 -1
  85. package/lib/refDialog/index.d.ts +3 -3
  86. package/lib/resource/index.d.ts +2 -2
  87. package/lib/resourceCard/index.d.ts +1 -1
  88. package/package.json +8 -14
  89. package/esm2020/lib/common/metaIcons.pipe.mjs +0 -29
  90. package/esm2020/lib/common/metaModel.pipe.mjs +0 -25
  91. package/esm2020/lib/common/metaNormalizer.mjs +0 -327
  92. package/esm2020/lib/common/utils/colorThemes.mjs +0 -79
  93. package/esm2020/lib/common/utils/indexedDbStore/index.mjs +0 -218
  94. package/esm2020/lib/fieldAbstract.mjs +0 -287
  95. package/esm2020/lib/fieldDatetime/index.mjs +0 -363
  96. package/esm2020/lib/fieldList/index.mjs +0 -69
  97. package/esm2020/lib/fieldReference/index.mjs +0 -825
  98. package/esm2020/lib/fieldRichtext/index.mjs +0 -85
  99. package/esm2020/lib/fieldSelect/index.mjs +0 -490
  100. package/esm2020/lib/fieldUnknown/index.mjs +0 -19
  101. package/esm2020/lib/index.mjs +0 -158
  102. package/esm2020/lib/layout/index.mjs +0 -149
  103. package/esm2020/lib/refDialog/index.mjs +0 -127
  104. package/esm2020/lib/resource/index.mjs +0 -491
  105. package/esm2020/lib/services/metaMsg/index.mjs +0 -84
  106. package/esm2020/lib/services/metaReference/index.mjs +0 -89
  107. package/esm2020/lib/services/resourceDrafts/index.mjs +0 -68
  108. package/fesm2015/vgip-meta-ui-fieldAbstract-f7d80db6.mjs +0 -397
  109. package/fesm2015/vgip-meta-ui-fieldAbstract-f7d80db6.mjs.map +0 -1
  110. package/fesm2015/vgip-meta-ui-index-1d2b4c69.mjs +0 -68
  111. package/fesm2015/vgip-meta-ui-index-1d2b4c69.mjs.map +0 -1
  112. package/fesm2015/vgip-meta-ui-index-2737c81e.mjs +0 -1900
  113. package/fesm2015/vgip-meta-ui-index-2737c81e.mjs.map +0 -1
  114. package/fesm2015/vgip-meta-ui-index-2b20afc8.mjs +0 -368
  115. package/fesm2015/vgip-meta-ui-index-2b20afc8.mjs.map +0 -1
  116. package/fesm2015/vgip-meta-ui-index-3eefa50a.mjs +0 -75
  117. package/fesm2015/vgip-meta-ui-index-3eefa50a.mjs.map +0 -1
  118. package/fesm2015/vgip-meta-ui-index-476b6cb7.mjs +0 -24
  119. package/fesm2015/vgip-meta-ui-index-476b6cb7.mjs.map +0 -1
  120. package/fesm2015/vgip-meta-ui-index-4b8d731c.mjs +0 -151
  121. package/fesm2015/vgip-meta-ui-index-4b8d731c.mjs.map +0 -1
  122. package/fesm2015/vgip-meta-ui-index-4ecdd48a.mjs +0 -72
  123. package/fesm2015/vgip-meta-ui-index-4ecdd48a.mjs.map +0 -1
  124. package/fesm2015/vgip-meta-ui-index-62be0e3e.mjs +0 -858
  125. package/fesm2015/vgip-meta-ui-index-62be0e3e.mjs.map +0 -1
  126. package/fesm2015/vgip-meta-ui-index-640f8e62.mjs +0 -95
  127. package/fesm2015/vgip-meta-ui-index-640f8e62.mjs.map +0 -1
  128. package/fesm2015/vgip-meta-ui-index-695384af.mjs +0 -88
  129. package/fesm2015/vgip-meta-ui-index-695384af.mjs.map +0 -1
  130. package/fesm2015/vgip-meta-ui-index-6e77c362.mjs +0 -130
  131. package/fesm2015/vgip-meta-ui-index-6e77c362.mjs.map +0 -1
  132. package/fesm2015/vgip-meta-ui-index-81aa79dc.mjs.map +0 -1
  133. package/fesm2015/vgip-meta-ui-index-87041aad.mjs +0 -23
  134. package/fesm2015/vgip-meta-ui-index-a76ba482.mjs +0 -498
  135. package/fesm2015/vgip-meta-ui-index-a76ba482.mjs.map +0 -1
  136. package/fesm2015/vgip-meta-ui-index-bf5b6c0f.mjs.map +0 -1
  137. package/fesm2015/vgip-meta-ui-metaModel.pipe-4b068359.mjs +0 -28
  138. package/fesm2015/vgip-meta-ui-metaModel.pipe-4b068359.mjs.map +0 -1
  139. package/fesm2015/vgip-meta-ui.mjs.map +0 -1
  140. package/fesm2020/vgip-meta-ui-fieldAbstract-f7d80db6.mjs.map +0 -1
  141. package/fesm2020/vgip-meta-ui-index-1d2b4c69.mjs +0 -68
  142. package/fesm2020/vgip-meta-ui-index-1d2b4c69.mjs.map +0 -1
  143. package/fesm2020/vgip-meta-ui-index-2b20afc8.mjs.map +0 -1
  144. package/fesm2020/vgip-meta-ui-index-476b6cb7.mjs +0 -24
  145. package/fesm2020/vgip-meta-ui-index-476b6cb7.mjs.map +0 -1
  146. package/fesm2020/vgip-meta-ui-index-4c4a4daf.mjs +0 -858
  147. package/fesm2020/vgip-meta-ui-index-4c4a4daf.mjs.map +0 -1
  148. package/fesm2020/vgip-meta-ui-index-4fcefde0.mjs.map +0 -1
  149. package/fesm2020/vgip-meta-ui-index-640f8e62.mjs +0 -95
  150. package/fesm2020/vgip-meta-ui-index-640f8e62.mjs.map +0 -1
  151. package/fesm2020/vgip-meta-ui-index-695384af.mjs +0 -88
  152. package/fesm2020/vgip-meta-ui-index-695384af.mjs.map +0 -1
  153. package/fesm2020/vgip-meta-ui-index-6e77c362.mjs.map +0 -1
  154. package/fesm2020/vgip-meta-ui-index-81aa79dc.mjs +0 -460
  155. package/fesm2020/vgip-meta-ui-index-81aa79dc.mjs.map +0 -1
  156. package/fesm2020/vgip-meta-ui-index-87041aad.mjs.map +0 -1
  157. package/fesm2020/vgip-meta-ui-index-aee28354.mjs +0 -497
  158. package/fesm2020/vgip-meta-ui-index-aee28354.mjs.map +0 -1
  159. package/fesm2020/vgip-meta-ui-index-bf5b6c0f.mjs +0 -61
  160. package/fesm2020/vgip-meta-ui-index-f7370960.mjs +0 -74
  161. package/fesm2020/vgip-meta-ui-index-f7370960.mjs.map +0 -1
  162. package/fesm2020/vgip-meta-ui-metaModel.pipe-4b068359.mjs +0 -28
  163. package/fesm2020/vgip-meta-ui-metaModel.pipe-4b068359.mjs.map +0 -1
  164. package/fesm2020/vgip-meta-ui-relativeTimeBuilder-31791ce4.mjs +0 -51
  165. package/fesm2020/vgip-meta-ui-relativeTimeBuilder-31791ce4.mjs.map +0 -1
  166. package/fesm2020/vgip-meta-ui.mjs +0 -524
  167. package/fesm2020/vgip-meta-ui.mjs.map +0 -1
  168. /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/boolean.mjs +0 -0
  169. /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/datetime.mjs +0 -0
  170. /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/index.mjs +0 -0
  171. /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/number.mjs +0 -0
  172. /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/options.mjs +0 -0
  173. /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/radio.mjs +0 -0
  174. /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/reference.mjs +0 -0
  175. /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/richtext.mjs +0 -0
  176. /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/string.mjs +0 -0
  177. /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/text.mjs +0 -0
  178. /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/uniqueNameFilter.mjs +0 -0
  179. /package/{esm2020 → esm2022}/lib/common/utils/relativeTimeBuilder.mjs +0 -0
  180. /package/{esm2020 → esm2022}/lib/common/utils/resourceCardLabel.mjs +0 -0
  181. /package/{esm2020 → esm2022}/lib/common/utils/smartProp.mjs +0 -0
  182. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  183. /package/{esm2020 → esm2022}/vgip-meta-ui.mjs +0 -0
  184. /package/{fesm2015 → fesm2022}/vgip-meta-ui-relativeTimeBuilder-31791ce4.mjs +0 -0
  185. /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\.]+)\s*}/g, 'N/A');
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\.]+)\s*}/g, (match, value) => {
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGVCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWV0YS11aS9zcmMvbGliL2NvbW1vbi91dGlscy90ZW1wbGF0ZUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxFQUFFO0lBQ3RELE1BQU0sT0FBTyxHQUFHLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUM1QyxJQUFJLENBQUMsT0FBTyxFQUFFO1FBQ1osSUFBSSxDQUFDLE9BQU8sSUFBSSxPQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssUUFBUSxFQUFFO1lBQzVDLE9BQU87U0FDUjthQUFNO1lBQ0wsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsc0JBQXNCLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDL0Q7S0FDRjtJQUVELE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFNUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLHNCQUFzQixFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQ3RGLFFBQVEsS0FBSyxFQUFFO1lBQ2IsS0FBSyxXQUFXLENBQUMsQ0FBQztnQkFDaEIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO2FBQ3JGO1lBQ0QsS0FBSyxNQUFNLENBQUMsQ0FBQztnQkFDWCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksU0FBUyxDQUFDLENBQUM7YUFDakY7WUFDRCxLQUFLLFNBQVMsQ0FBQyxDQUFDLEVBQUUsNkJBQTZCO2dCQUM3QyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksU0FBUyxDQUFDLENBQUM7YUFDakY7WUFDRCxLQUFLLE1BQU0sQ0FBQyxDQUFDO2dCQUNYLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2FBQ3pDO1lBQ0QsS0FBSyxhQUFhLENBQUMsQ0FBQztnQkFDbEIsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDdkI7WUFDRCxLQUFLLGdCQUFnQixDQUFDLENBQUM7Z0JBQ3JCLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7YUFDMUU7WUFDRCxLQUFLLFdBQVcsQ0FBQyxDQUFDO2dCQUNoQixJQUFJO29CQUNGLE1BQU0sUUFBUSxHQUFHLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztvQkFDakYsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO29CQUNyQyxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztvQkFDM0MsT0FBTyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztpQkFDM0I7Z0JBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQywyQkFBMkIsRUFBRSxDQUFDLENBQUMsQ0FBQztpQkFDL0M7Z0JBQ0QsT0FBTyxFQUFFLENBQUM7YUFDWDtZQUNELEtBQUssVUFBVSxDQUFDLENBQUM7Z0JBQ2YsSUFBSTtvQkFDRixJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxRQUFRLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRTt3QkFDM0QsT0FBTyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxLQUFLLENBQUM7cUJBQ2pEO2lCQUNGO2dCQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsMEJBQTBCLEVBQUUsQ0FBQyxDQUFDLENBQUM7aUJBQzlDO2dCQUNELE9BQU8sT0FBTyxDQUFDO2FBQ2hCO1lBQ0QsS0FBSyxhQUFhLENBQUMsQ0FBQztnQkFDbEIsSUFBSTtvQkFDRixJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssUUFBUSxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUU7d0JBQzdELE9BQU8sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUM7cUJBQ3pEO2lCQUNGO2dCQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxDQUFDLENBQUM7aUJBQzNDO2dCQUNELE9BQU8sTUFBTSxDQUFDO2FBQ2Y7WUFDRCxLQUFLLGNBQWMsQ0FBQyxDQUFDO2dCQUNuQixJQUFJO29CQUNGLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxRQUFRLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRTt3QkFDN0QsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsQ0FBQyx3QkFBd0I7d0JBQ2xFLElBQUksUUFBUSxHQUFHLENBQUMsRUFBRTs0QkFDaEIsT0FBTyxPQUFPLENBQUM7eUJBQ2hCO3dCQUVELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxDQUFDO3dCQUMxQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO3dCQUNuRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUMsQ0FBQzt3QkFFMUMsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7d0JBQ3JELE9BQU8sVUFBVSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO3FCQUMvRDtpQkFDRjtnQkFBQyxPQUFPLENBQUMsRUFBRTtvQkFDVixPQUFPLENBQUMsS0FBSyxDQUFDLDBCQUEwQixFQUFFLENBQUMsQ0FBQyxDQUFDO2lCQUM5QztnQkFDRCxPQUFPLE9BQU8sQ0FBQzthQUNoQjtZQUNELE9BQU8sQ0FBQyxDQUFDO2dCQUNQLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3ZCO1NBQ0Y7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sY0FBYyxDQUFDO0FBQ3hCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCB0ZW1wbGF0ZUJ1aWxkZXIgPSAobWV0YUNvbnRleHQsIHBhdHRlcm4pID0+IHtcbiAgY29uc3QgY29udGV4dCA9IChtZXRhQ29udGV4dCB8fCB7fSkuY29udGV4dDtcbiAgaWYgKCFjb250ZXh0KSB7XG4gICAgaWYgKCFwYXR0ZXJuIHx8IHR5cGVvZihwYXR0ZXJuKSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIChwYXR0ZXJuIHx8ICcnKS5yZXBsYWNlKC9cXCR7XFxzKihbXFx3XFwuXSspXFxzKn0vZywgJ04vQScpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHBhZFRpbWUgPSAodCkgPT4gdCA8IDEwID8gJzAnICsgdCA6IHQ7XG5cbiAgY29uc3QgcGF0dGVybkJ1aWxkZXIgPSAocGF0dGVybiB8fCAnJykucmVwbGFjZSgvXFwke1xccyooW1xcd1xcLl0rKVxccyp9L2csIChtYXRjaCwgdmFsdWUpID0+IHtcbiAgICBzd2l0Y2ggKHZhbHVlKSB7XG4gICAgICBjYXNlICdkaXJlY3Rpb24nOiB7XG4gICAgICAgIHJldHVybiAoY29udGV4dFt2YWx1ZV0gfHwgJycpLnRvVXBwZXJDYXNlKCkgPT09ICdJTkJPVU5EJyA/ICAnSW5ib3VuZCcgOiAnT3V0Ym91bmQnO1xuICAgICAgfVxuICAgICAgY2FzZSAnbmFtZSc6IHtcbiAgICAgICAgcmV0dXJuIGNvbnRleHQuY29udGFjdCA/IGNvbnRleHQuY29udGFjdC5uYW1lIDogKGNvbnRleHQuY2FsbGVySWQgfHwgJ1Vua25vd24nKTtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2NvbnRhY3QnOiB7IC8vIChGRS1CRSBjb250cmFjdCB2aW9sYXRpb24pXG4gICAgICAgIHJldHVybiBjb250ZXh0LmNvbnRhY3QgPyBjb250ZXh0LmNvbnRhY3QubmFtZSA6IChjb250ZXh0LmNhbGxlcklkIHx8ICdVbmtub3duJyk7XG4gICAgICB9XG4gICAgICBjYXNlICd0eXBlJzoge1xuICAgICAgICByZXR1cm4gY29udGV4dC50eXBlID8gY29udGV4dC50eXBlIDogJyc7XG4gICAgICB9XG4gICAgICBjYXNlICdwaG9uZU51bWJlcic6IHtcbiAgICAgICAgcmV0dXJuIGNvbnRleHRbdmFsdWVdO1xuICAgICAgfVxuICAgICAgY2FzZSAnZGlyZWN0aW9uQXJyb3cnOiB7XG4gICAgICAgIHJldHVybiAoY29udGV4dC5kaXJlY3Rpb24gfHwgJycpLnRvVXBwZXJDYXNlKCkgPT09ICdJTkJPVU5EJyA/ICfirIcnIDogJ+Kshic7XG4gICAgICB9XG4gICAgICBjYXNlICd0aW1lc3RhbXAnOiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgY2FsbFRpbWUgPSBuZXcgRGF0ZShjb250ZXh0LmFuc3dlclRpbWUgfHwgY29udGV4dC5zdGFydFRpbWUgfHwgRGF0ZS5ub3coKSk7XG4gICAgICAgICAgY29uc3QgZGF0ZSA9IGNhbGxUaW1lLnRvRGF0ZVN0cmluZygpO1xuICAgICAgICAgIGNvbnN0IHRpbWUgPSBjYWxsVGltZS50b0xvY2FsZVRpbWVTdHJpbmcoKTtcbiAgICAgICAgICByZXR1cm4gZGF0ZSArICcsICcgKyB0aW1lO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignY29udGV4dCB3aXRob3V0IHN0YXJ0VGltZScsIGUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAnJztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2R1cmF0aW9uJzoge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGlmICh0eXBlb2YgKGNvbnRleHRbdmFsdWVdKSA9PT0gJ251bWJlcicgJiYgY29udGV4dC5lbmRUaW1lKSB7XG4gICAgICAgICAgICByZXR1cm4gJygnICsgKGNvbnRleHRbdmFsdWVdKS50b0ZpeGVkKCkgKyAnbXMpJztcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdjb250ZXh0IHdpdGhvdXQgZHVyYXRpb24nLCBlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJygwbXMpJztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2R1cmF0aW9uU2VjJzoge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGlmICh0eXBlb2YgKGNvbnRleHQuZHVyYXRpb24pID09PSAnbnVtYmVyJyAmJiBjb250ZXh0LmVuZFRpbWUpIHtcbiAgICAgICAgICAgIHJldHVybiAnKCcgKyAoY29udGV4dC5kdXJhdGlvbiAvIDEwMDApLnRvRml4ZWQoKSArICdzKSc7XG4gICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignY2FsbCB3aXRob3V0IGR1cmF0aW9uJywgZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICcoMHMpJztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2R1cmF0aW9uVGltZSc6IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBpZiAodHlwZW9mIChjb250ZXh0LmR1cmF0aW9uKSA9PT0gJ251bWJlcicgJiYgY29udGV4dC5lbmRUaW1lKSB7XG4gICAgICAgICAgICBjb25zdCBkdXJhdGlvbiA9IGNvbnRleHQuZHVyYXRpb24gLyAxMDAwOyAvLyBjb252ZXJ0IGl0IHRvIHNlY29uZHNcbiAgICAgICAgICAgIGlmIChkdXJhdGlvbiA8IDApIHtcbiAgICAgICAgICAgICAgcmV0dXJuICcwMDowMCc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGhvdXJzID0gTWF0aC5mbG9vcihkdXJhdGlvbiAvIDM2MDApO1xuICAgICAgICAgICAgY29uc3QgbWludXRlcyA9IE1hdGguZmxvb3IoKGR1cmF0aW9uICUgMzYwMCkgLyA2MCk7XG4gICAgICAgICAgICBjb25zdCBzZWNvbmRzID0gTWF0aC5mbG9vcihkdXJhdGlvbiAlIDYwKTtcblxuICAgICAgICAgICAgY29uc3QgY2hlY2tIb3VycyA9IGhvdXJzID8gcGFkVGltZShob3VycykgKyAnOicgOiAnJztcbiAgICAgICAgICAgIHJldHVybiBjaGVja0hvdXJzICsgcGFkVGltZShtaW51dGVzKSArICc6JyArIHBhZFRpbWUoc2Vjb25kcyk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignY29udGV4dCB3aXRob3V0IGR1cmF0aW9uJywgZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICcwMDowMCc7XG4gICAgICB9XG4gICAgICBkZWZhdWx0OiB7XG4gICAgICAgIHJldHVybiBjb250ZXh0W3ZhbHVlXTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuICByZXR1cm4gcGF0dGVybkJ1aWxkZXI7XG59O1xuIl19
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGVCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWV0YS11aS9zcmMvbGliL2NvbW1vbi91dGlscy90ZW1wbGF0ZUJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxFQUFFO0lBQ3RELE1BQU0sT0FBTyxHQUFHLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUM1QyxJQUFJLENBQUMsT0FBTyxFQUFFO1FBQ1osSUFBSSxDQUFDLE9BQU8sSUFBSSxPQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssUUFBUSxFQUFFO1lBQzVDLE9BQU87U0FDUjthQUFNO1lBQ0wsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMscUJBQXFCLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDOUQ7S0FDRjtJQUVELE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFNUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQ3JGLFFBQVEsS0FBSyxFQUFFO1lBQ2IsS0FBSyxXQUFXLENBQUMsQ0FBQztnQkFDaEIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO2FBQ3JGO1lBQ0QsS0FBSyxNQUFNLENBQUMsQ0FB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QUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsQ0FBQyx3QkFBd0I7d0JBQ2xFLElBQUksUUFBUSxHQUFHLENBQUMsRUFBRTs0QkFDaEIsT0FBTyxPQUFPLENBQUM7eUJBQ2hCO3dCQUVELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxDQUFDO3dCQUMxQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO3dCQUNuRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUMsQ0FBQzt3QkFFMUMsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7d0JBQ3JELE9BQU8sVUFBVSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxHQUFHLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO3FCQUMvRDtpQkFDRjtnQkFBQyxPQUFPLENBQUMsRUFBRTtvQkFDVixPQUFPLENBQUMsS0FBSyxDQUFDLDBCQUEwQixFQUFFLENBQUMsQ0FBQyxDQUFDO2lCQUM5QztnQkFDRCxPQUFPLE9BQU8sQ0FBQzthQUNoQjtZQUNELE9BQU8sQ0FBQyxDQUFDO2dCQUNQLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3ZCO1NBQ0Y7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sY0FBYyxDQUFDO0FBQ3hCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCB0ZW1wbGF0ZUJ1aWxkZXIgPSAobWV0YUNvbnRleHQsIHBhdHRlcm4pID0+IHtcbiAgY29uc3QgY29udGV4dCA9IChtZXRhQ29udGV4dCB8fCB7fSkuY29udGV4dDtcbiAgaWYgKCFjb250ZXh0KSB7XG4gICAgaWYgKCFwYXR0ZXJuIHx8IHR5cGVvZihwYXR0ZXJuKSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIChwYXR0ZXJuIHx8ICcnKS5yZXBsYWNlKC9cXCR7XFxzKihbXFx3Ll0rKVxccyp9L2csICdOL0EnKTtcbiAgICB9XG4gIH1cblxuICBjb25zdCBwYWRUaW1lID0gKHQpID0+IHQgPCAxMCA/ICcwJyArIHQgOiB0O1xuXG4gIGNvbnN0IHBhdHRlcm5CdWlsZGVyID0gKHBhdHRlcm4gfHwgJycpLnJlcGxhY2UoL1xcJHtcXHMqKFtcXHcuXSspXFxzKn0vZywgKG1hdGNoLCB2YWx1ZSkgPT4ge1xuICAgIHN3aXRjaCAodmFsdWUpIHtcbiAgICAgIGNhc2UgJ2RpcmVjdGlvbic6IHtcbiAgICAgICAgcmV0dXJuIChjb250ZXh0W3ZhbHVlXSB8fCAnJykudG9VcHBlckNhc2UoKSA9PT0gJ0lOQk9VTkQnID8gICdJbmJvdW5kJyA6ICdPdXRib3VuZCc7XG4gICAgICB9XG4gICAgICBjYXNlICduYW1lJzoge1xuICAgICAgICByZXR1cm4gY29udGV4dC5jb250YWN0ID8gY29udGV4dC5jb250YWN0Lm5hbWUgOiAoY29udGV4dC5jYWxsZXJJZCB8fCAnVW5rbm93bicpO1xuICAgICAgfVxuICAgICAgY2FzZSAnY29udGFjdCc6IHsgLy8gKEZFLUJFIGNvbnRyYWN0IHZpb2xhdGlvbilcbiAgICAgICAgcmV0dXJuIGNvbnRleHQuY29udGFjdCA/IGNvbnRleHQuY29udGFjdC5uYW1lIDogKGNvbnRleHQuY2FsbGVySWQgfHwgJ1Vua25vd24nKTtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ3R5cGUnOiB7XG4gICAgICAgIHJldHVybiBjb250ZXh0LnR5cGUgPyBjb250ZXh0LnR5cGUgOiAnJztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ3Bob25lTnVtYmVyJzoge1xuICAgICAgICByZXR1cm4gY29udGV4dFt2YWx1ZV07XG4gICAgICB9XG4gICAgICBjYXNlICdkaXJlY3Rpb25BcnJvdyc6IHtcbiAgICAgICAgcmV0dXJuIChjb250ZXh0LmRpcmVjdGlvbiB8fCAnJykudG9VcHBlckNhc2UoKSA9PT0gJ0lOQk9VTkQnID8gJ+KshycgOiAn4qyGJztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ3RpbWVzdGFtcCc6IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBjYWxsVGltZSA9IG5ldyBEYXRlKGNvbnRleHQuYW5zd2VyVGltZSB8fCBjb250ZXh0LnN0YXJ0VGltZSB8fCBEYXRlLm5vdygpKTtcbiAgICAgICAgICBjb25zdCBkYXRlID0gY2FsbFRpbWUudG9EYXRlU3RyaW5nKCk7XG4gICAgICAgICAgY29uc3QgdGltZSA9IGNhbGxUaW1lLnRvTG9jYWxlVGltZVN0cmluZygpO1xuICAgICAgICAgIHJldHVybiBkYXRlICsgJywgJyArIHRpbWU7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdjb250ZXh0IHdpdGhvdXQgc3RhcnRUaW1lJywgZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICcnO1xuICAgICAgfVxuICAgICAgY2FzZSAnZHVyYXRpb24nOiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiAoY29udGV4dFt2YWx1ZV0pID09PSAnbnVtYmVyJyAmJiBjb250ZXh0LmVuZFRpbWUpIHtcbiAgICAgICAgICAgIHJldHVybiAnKCcgKyAoY29udGV4dFt2YWx1ZV0pLnRvRml4ZWQoKSArICdtcyknO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ2NvbnRleHQgd2l0aG91dCBkdXJhdGlvbicsIGUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAnKDBtcyknO1xuICAgICAgfVxuICAgICAgY2FzZSAnZHVyYXRpb25TZWMnOiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiAoY29udGV4dC5kdXJhdGlvbikgPT09ICdudW1iZXInICYmIGNvbnRleHQuZW5kVGltZSkge1xuICAgICAgICAgICAgcmV0dXJuICcoJyArIChjb250ZXh0LmR1cmF0aW9uIC8gMTAwMCkudG9GaXhlZCgpICsgJ3MpJztcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdjYWxsIHdpdGhvdXQgZHVyYXRpb24nLCBlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJygwcyknO1xuICAgICAgfVxuICAgICAgY2FzZSAnZHVyYXRpb25UaW1lJzoge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGlmICh0eXBlb2YgKGNvbnRleHQuZHVyYXRpb24pID09PSAnbnVtYmVyJyAmJiBjb250ZXh0LmVuZFRpbWUpIHtcbiAgICAgICAgICAgIGNvbnN0IGR1cmF0aW9uID0gY29udGV4dC5kdXJhdGlvbiAvIDEwMDA7IC8vIGNvbnZlcnQgaXQgdG8gc2Vjb25kc1xuICAgICAgICAgICAgaWYgKGR1cmF0aW9uIDwgMCkge1xuICAgICAgICAgICAgICByZXR1cm4gJzAwOjAwJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgaG91cnMgPSBNYXRoLmZsb29yKGR1cmF0aW9uIC8gMzYwMCk7XG4gICAgICAgICAgICBjb25zdCBtaW51dGVzID0gTWF0aC5mbG9vcigoZHVyYXRpb24gJSAzNjAwKSAvIDYwKTtcbiAgICAgICAgICAgIGNvbnN0IHNlY29uZHMgPSBNYXRoLmZsb29yKGR1cmF0aW9uICUgNjApO1xuXG4gICAgICAgICAgICBjb25zdCBjaGVja0hvdXJzID0gaG91cnMgPyBwYWRUaW1lKGhvdXJzKSArICc6JyA6ICcnO1xuICAgICAgICAgICAgcmV0dXJuIGNoZWNrSG91cnMgKyBwYWRUaW1lKG1pbnV0ZXMpICsgJzonICsgcGFkVGltZShzZWNvbmRzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdjb250ZXh0IHdpdGhvdXQgZHVyYXRpb24nLCBlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJzAwOjAwJztcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgcmV0dXJuIGNvbnRleHRbdmFsdWVdO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG4gIHJldHVybiBwYXR0ZXJuQnVpbGRlcjtcbn07XG4iXX0=