@lenne.tech/ng-base 13.6.5 → 13.7.0

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 (193) hide show
  1. package/base-components/base-components.module.d.ts +8 -3
  2. package/base-components/components/breadcrumb/breadcrumb.component.d.ts +10 -0
  3. package/base-components/components/checkbox/checkbox.component.d.ts +1 -1
  4. package/base-components/components/loading-bar/loading-bar.component.d.ts +5 -0
  5. package/base-components/components/select/select.component.d.ts +2 -1
  6. package/base-components/components/skeleton-loader/skeleton-loader.component.d.ts +10 -0
  7. package/base-components/components/tags/tags.component.d.ts +33 -0
  8. package/base-components/components/toast/toast.component.d.ts +18 -0
  9. package/base-components/public-api.d.ts +5 -0
  10. package/base-prototype/base-prototype.module.d.ts +6 -5
  11. package/base-prototype/pages/forgot-password/forgot-password.component.d.ts +7 -2
  12. package/base-prototype/pages/login/login.component.d.ts +8 -2
  13. package/base-prototype/pages/register/register.component.d.ts +8 -2
  14. package/esm2020/base-components/base-components.module.mjs +23 -3
  15. package/esm2020/base-components/components/breadcrumb/breadcrumb.component.mjs +17 -0
  16. package/esm2020/base-components/components/checkbox/checkbox.component.mjs +3 -3
  17. package/esm2020/base-components/components/input/input.component.mjs +3 -3
  18. package/esm2020/base-components/components/loading-bar/loading-bar.component.mjs +11 -0
  19. package/esm2020/base-components/components/select/select.component.mjs +6 -3
  20. package/esm2020/base-components/components/skeleton-loader/skeleton-loader.component.mjs +33 -0
  21. package/esm2020/base-components/components/tags/tags.component.mjs +85 -0
  22. package/esm2020/base-components/components/toast/toast.component.mjs +61 -0
  23. package/esm2020/base-components/public-api.mjs +6 -1
  24. package/esm2020/base-prototype/base-prototype.module.mjs +5 -4
  25. package/esm2020/base-prototype/pages/forgot-password/forgot-password.component.mjs +30 -9
  26. package/esm2020/base-prototype/pages/login/login.component.mjs +46 -9
  27. package/esm2020/base-prototype/pages/register/register.component.mjs +45 -11
  28. package/esm2020/public-api.mjs +1 -42
  29. package/esm2020/shared/classes/auth.class.mjs +16 -0
  30. package/esm2020/shared/classes/basic-user.class.mjs +51 -0
  31. package/esm2020/shared/classes/graphql-enum.class.mjs +9 -0
  32. package/esm2020/shared/classes/graphql-meta.class.mjs +171 -0
  33. package/esm2020/shared/classes/graphql-type.class.mjs +13 -0
  34. package/esm2020/shared/classes/helper.class.mjs +304 -0
  35. package/esm2020/shared/classes/standard.class.mjs +40 -0
  36. package/esm2020/{src → shared}/enums/comparison-operator.enum.mjs +1 -1
  37. package/esm2020/shared/enums/graphql-request-type.enum.mjs +10 -0
  38. package/esm2020/shared/enums/logical-operator.enum.mjs +10 -0
  39. package/esm2020/shared/enums/skeleton-type.enum.mjs +7 -0
  40. package/esm2020/shared/enums/sort-order.enum.mjs +6 -0
  41. package/esm2020/shared/enums/toast-type.enum.mjs +7 -0
  42. package/esm2020/shared/functions/ws-client.function.mjs +39 -0
  43. package/esm2020/shared/interfaces/base-module-config.interface.mjs +3 -0
  44. package/esm2020/shared/interfaces/breadcrumb.interface.mjs +2 -0
  45. package/esm2020/shared/interfaces/can-component-deactivate.interface.mjs +2 -0
  46. package/esm2020/shared/interfaces/combined-filter-input.interface.mjs +2 -0
  47. package/esm2020/shared/interfaces/field-object.interface.mjs +2 -0
  48. package/esm2020/shared/interfaces/field.interface.mjs +2 -0
  49. package/esm2020/shared/interfaces/filter-input.interface.mjs +2 -0
  50. package/esm2020/shared/interfaces/find-args.interface.mjs +2 -0
  51. package/esm2020/shared/interfaces/graphql-fields-object.interface.mjs +2 -0
  52. package/esm2020/shared/interfaces/graphql-options.interface.mjs +2 -0
  53. package/esm2020/shared/interfaces/graphql-plus-options.interfacen.mjs +2 -0
  54. package/esm2020/shared/interfaces/graphql-type-collection.interface.mjs +2 -0
  55. package/esm2020/shared/interfaces/single-filter-input.interface.mjs +2 -0
  56. package/esm2020/shared/interfaces/sort-input.interface.mjs +2 -0
  57. package/esm2020/shared/interfaces/time-components.interface.mjs +2 -0
  58. package/esm2020/shared/interfaces/toast.interface.mjs +2 -0
  59. package/esm2020/shared/lenne.tech-ng-base-shared.mjs +5 -0
  60. package/esm2020/shared/public-api.mjs +57 -0
  61. package/esm2020/shared/services/auth.service.mjs +71 -0
  62. package/esm2020/shared/services/breadcrumb.service.mjs +68 -0
  63. package/esm2020/shared/services/forms.service.mjs +25 -0
  64. package/esm2020/shared/services/graphql-meta.service.mjs +123 -0
  65. package/esm2020/shared/services/graphql-plus.service.mjs +84 -0
  66. package/esm2020/shared/services/graphql.service.mjs +441 -0
  67. package/esm2020/shared/services/image.service.mjs +102 -0
  68. package/esm2020/shared/services/loader.service.mjs +29 -0
  69. package/esm2020/shared/services/scroll.service.mjs +179 -0
  70. package/esm2020/shared/services/storage.service.mjs +132 -0
  71. package/esm2020/shared/services/toast.service.mjs +41 -0
  72. package/esm2020/shared/services/user.service.mjs +82 -0
  73. package/esm2020/shared/services/ws.service.mjs +16 -0
  74. package/esm2020/shared/types/graphql-fields.type.mjs +2 -0
  75. package/esm2020/shared/types/storage.type.mjs +2 -0
  76. package/esm2020/shared/validators/match.validator.mjs +19 -0
  77. package/esm2020/src/base.module.mjs +14 -11
  78. package/esm2020/src/directives/match-height.directive.mjs +2 -2
  79. package/esm2020/src/factories/apollo-options.factory.mjs +14 -12
  80. package/esm2020/src/guards/auth.guard.mjs +3 -3
  81. package/esm2020/src/guards/can-deactivate.guard.mjs +1 -1
  82. package/esm2020/src/guards/logout.guard.mjs +2 -2
  83. package/esm2020/src/services/theme.service.mjs +2 -2
  84. package/fesm2015/lenne.tech-ng-base-base-components.mjs +218 -9
  85. package/fesm2015/lenne.tech-ng-base-base-components.mjs.map +1 -1
  86. package/fesm2015/lenne.tech-ng-base-base-prototype.mjs +113 -22
  87. package/fesm2015/lenne.tech-ng-base-base-prototype.mjs.map +1 -1
  88. package/fesm2015/lenne.tech-ng-base-shared.mjs +1995 -0
  89. package/fesm2015/lenne.tech-ng-base-shared.mjs.map +1 -0
  90. package/fesm2015/lenne.tech-ng-base.mjs +57 -1799
  91. package/fesm2015/lenne.tech-ng-base.mjs.map +1 -1
  92. package/fesm2020/lenne.tech-ng-base-base-components.mjs +218 -9
  93. package/fesm2020/lenne.tech-ng-base-base-components.mjs.map +1 -1
  94. package/fesm2020/lenne.tech-ng-base-base-prototype.mjs +111 -22
  95. package/fesm2020/lenne.tech-ng-base-base-prototype.mjs.map +1 -1
  96. package/fesm2020/lenne.tech-ng-base-shared.mjs +2055 -0
  97. package/fesm2020/lenne.tech-ng-base-shared.mjs.map +1 -0
  98. package/fesm2020/lenne.tech-ng-base.mjs +57 -1854
  99. package/fesm2020/lenne.tech-ng-base.mjs.map +1 -1
  100. package/package.json +10 -2
  101. package/public-api.d.ts +0 -36
  102. package/shared/classes/auth.class.d.ts +9 -0
  103. package/{src → shared}/classes/basic-user.class.d.ts +0 -0
  104. package/{src → shared}/classes/graphql-enum.class.d.ts +0 -0
  105. package/{src → shared}/classes/graphql-meta.class.d.ts +0 -0
  106. package/{src → shared}/classes/graphql-type.class.d.ts +0 -0
  107. package/{src → shared}/classes/helper.class.d.ts +0 -0
  108. package/{src → shared}/classes/standard.class.d.ts +0 -0
  109. package/{src → shared}/enums/comparison-operator.enum.d.ts +0 -0
  110. package/{src → shared}/enums/graphql-request-type.enum.d.ts +0 -0
  111. package/{src → shared}/enums/logical-operator.enum.d.ts +0 -0
  112. package/shared/enums/skeleton-type.enum.d.ts +5 -0
  113. package/{src → shared}/enums/sort-order.enum.d.ts +0 -0
  114. package/shared/enums/toast-type.enum.d.ts +5 -0
  115. package/shared/functions/ws-client.function.d.ts +5 -0
  116. package/{src → shared}/interfaces/base-module-config.interface.d.ts +1 -1
  117. package/shared/interfaces/breadcrumb.interface.d.ts +4 -0
  118. package/{src → shared}/interfaces/can-component-deactivate.interface.d.ts +0 -0
  119. package/{src → shared}/interfaces/combined-filter-input.interface.d.ts +0 -0
  120. package/{src → shared}/interfaces/field-object.interface.d.ts +0 -0
  121. package/{src → shared}/interfaces/field.interface.d.ts +0 -0
  122. package/{src → shared}/interfaces/filter-input.interface.d.ts +0 -0
  123. package/{src → shared}/interfaces/find-args.interface.d.ts +0 -0
  124. package/{src → shared}/interfaces/graphql-fields-object.interface.d.ts +0 -0
  125. package/{src → shared}/interfaces/graphql-options.interface.d.ts +0 -0
  126. package/{src → shared}/interfaces/graphql-plus-options.interfacen.d.ts +0 -0
  127. package/{src → shared}/interfaces/graphql-type-collection.interface.d.ts +0 -0
  128. package/{src → shared}/interfaces/single-filter-input.interface.d.ts +0 -0
  129. package/{src → shared}/interfaces/sort-input.interface.d.ts +0 -0
  130. package/shared/interfaces/time-components.interface.d.ts +6 -0
  131. package/shared/interfaces/toast.interface.d.ts +8 -0
  132. package/shared/lenne.tech-ng-base-shared.d.ts +5 -0
  133. package/shared/package.json +10 -0
  134. package/shared/public-api.d.ts +49 -0
  135. package/{src → shared}/services/auth.service.d.ts +0 -0
  136. package/shared/services/breadcrumb.service.d.ts +32 -0
  137. package/{src → shared}/services/forms.service.d.ts +0 -1
  138. package/{src → shared}/services/graphql-meta.service.d.ts +0 -0
  139. package/{src → shared}/services/graphql-plus.service.d.ts +0 -0
  140. package/{src → shared}/services/graphql.service.d.ts +0 -0
  141. package/{src → shared}/services/image.service.d.ts +0 -0
  142. package/{src → shared}/services/loader.service.d.ts +0 -0
  143. package/{src → shared}/services/scroll.service.d.ts +0 -0
  144. package/{src → shared}/services/storage.service.d.ts +0 -0
  145. package/shared/services/toast.service.d.ts +15 -0
  146. package/shared/services/user.service.d.ts +42 -0
  147. package/{src → shared}/services/ws.service.d.ts +2 -2
  148. package/{src → shared}/types/graphql-fields.type.d.ts +0 -0
  149. package/{src → shared}/types/storage.type.d.ts +0 -0
  150. package/shared/validators/match.validator.d.ts +4 -0
  151. package/src/base.module.d.ts +4 -2
  152. package/src/directives/match-height.directive.d.ts +1 -1
  153. package/src/factories/apollo-options.factory.d.ts +1 -3
  154. package/src/guards/auth.guard.d.ts +1 -2
  155. package/src/guards/can-deactivate.guard.d.ts +1 -1
  156. package/src/guards/logout.guard.d.ts +1 -1
  157. package/src/services/theme.service.d.ts +1 -1
  158. package/esm2020/src/classes/basic-user.class.mjs +0 -51
  159. package/esm2020/src/classes/graphql-enum.class.mjs +0 -9
  160. package/esm2020/src/classes/graphql-meta.class.mjs +0 -171
  161. package/esm2020/src/classes/graphql-type.class.mjs +0 -13
  162. package/esm2020/src/classes/helper.class.mjs +0 -304
  163. package/esm2020/src/classes/standard.class.mjs +0 -40
  164. package/esm2020/src/enums/graphql-request-type.enum.mjs +0 -10
  165. package/esm2020/src/enums/logical-operator.enum.mjs +0 -10
  166. package/esm2020/src/enums/sort-order.enum.mjs +0 -6
  167. package/esm2020/src/interfaces/base-module-config.interface.mjs +0 -3
  168. package/esm2020/src/interfaces/can-component-deactivate.interface.mjs +0 -2
  169. package/esm2020/src/interfaces/combined-filter-input.interface.mjs +0 -2
  170. package/esm2020/src/interfaces/field-object.interface.mjs +0 -2
  171. package/esm2020/src/interfaces/field.interface.mjs +0 -2
  172. package/esm2020/src/interfaces/filter-input.interface.mjs +0 -2
  173. package/esm2020/src/interfaces/find-args.interface.mjs +0 -2
  174. package/esm2020/src/interfaces/graphql-fields-object.interface.mjs +0 -2
  175. package/esm2020/src/interfaces/graphql-options.interface.mjs +0 -2
  176. package/esm2020/src/interfaces/graphql-plus-options.interfacen.mjs +0 -2
  177. package/esm2020/src/interfaces/graphql-type-collection.interface.mjs +0 -2
  178. package/esm2020/src/interfaces/single-filter-input.interface.mjs +0 -2
  179. package/esm2020/src/interfaces/sort-input.interface.mjs +0 -2
  180. package/esm2020/src/services/auth.service.mjs +0 -71
  181. package/esm2020/src/services/forms.service.mjs +0 -26
  182. package/esm2020/src/services/graphql-meta.service.mjs +0 -123
  183. package/esm2020/src/services/graphql-plus.service.mjs +0 -84
  184. package/esm2020/src/services/graphql.service.mjs +0 -441
  185. package/esm2020/src/services/image.service.mjs +0 -102
  186. package/esm2020/src/services/loader.service.mjs +0 -29
  187. package/esm2020/src/services/scroll.service.mjs +0 -179
  188. package/esm2020/src/services/storage.service.mjs +0 -132
  189. package/esm2020/src/services/ws.service.mjs +0 -17
  190. package/esm2020/src/types/graphql-fields.type.mjs +0 -2
  191. package/esm2020/src/types/storage.type.mjs +0 -2
  192. package/esm2020/src/validators/must-match.validator.mjs +0 -22
  193. package/src/validators/must-match.validator.d.ts +0 -6
@@ -0,0 +1,304 @@
1
+ /**
2
+ * Helper class
3
+ */
4
+ export class Helper {
5
+ /**
6
+ * Simple filter function for plain objects
7
+ */
8
+ static filter(objects, filter) {
9
+ return (objects?.filter((element) => {
10
+ for (const [key, value] of Object.entries(filter)) {
11
+ if (Array.isArray(element[key])) {
12
+ for (const item of element[key]) {
13
+ if (!element[key].includs(value)) {
14
+ return false;
15
+ }
16
+ }
17
+ }
18
+ else if (element[key] !== value) {
19
+ return false;
20
+ }
21
+ }
22
+ return true;
23
+ }) || []);
24
+ }
25
+ /**
26
+ * Convert to a url/uri conform string
27
+ * Only:
28
+ * - lower case
29
+ * - chars, numbers and hyphens
30
+ */
31
+ static urlString(str, options = {}) {
32
+ // Config
33
+ const config = {
34
+ allowAll: false,
35
+ ...options,
36
+ };
37
+ // To string
38
+ str = str + '';
39
+ // Trim
40
+ str = str.trim();
41
+ // Lower case
42
+ str = str.toLowerCase();
43
+ if (!config.allowAll) {
44
+ // Replace spaces
45
+ str = str.trim().replace(/\s+/g, '-');
46
+ // Replace some special chars
47
+ str = str.replace('ä', 'ae');
48
+ str = str.replace('ö', 'oe');
49
+ str = str.replace('ü', 'ue');
50
+ str = str.replace('ß', 'ss');
51
+ // Remove other special chars
52
+ str = str.replace(/[^a-zA-Z0-9-]/g, '');
53
+ }
54
+ // Return url conform string
55
+ return encodeURI(str);
56
+ }
57
+ /**
58
+ * Simple map function
59
+ */
60
+ static map(source, target, options = {}) {
61
+ // Set config
62
+ const config = {
63
+ funcAllowed: false,
64
+ dateStringToDate: true,
65
+ ...options,
66
+ };
67
+ // Check source
68
+ if (!source || typeof source !== 'object' || Array.isArray(source)) {
69
+ return target;
70
+ }
71
+ // Update properties
72
+ for (const key of Object.keys(target)) {
73
+ if (source[key] !== undefined && (config.funcAllowed || typeof (source[key] !== 'function'))) {
74
+ if (typeof source[key] === 'string' && config.dateStringToDate) {
75
+ if (Array.isArray(config.dateStringToDate)) {
76
+ if (config.dateStringToDate.includes(key)) {
77
+ target[key] = Helper.parseDate(source[key]);
78
+ }
79
+ }
80
+ else {
81
+ target[key] = Helper.parseDate(source[key]);
82
+ }
83
+ }
84
+ else {
85
+ target[key] = source[key];
86
+ }
87
+ }
88
+ }
89
+ // Return target
90
+ return target;
91
+ }
92
+ /**
93
+ * Create Object or Objects of specified type with specified data
94
+ */
95
+ static maps(data, targetClass) {
96
+ // Check data
97
+ if (!data || typeof data !== 'object') {
98
+ return undefined;
99
+ }
100
+ // Check array
101
+ if (!Array.isArray(data)) {
102
+ data = [data];
103
+ }
104
+ // Map
105
+ return data.map((item) => {
106
+ return targetClass.map(item);
107
+ });
108
+ }
109
+ /**
110
+ * Get plain parameter
111
+ */
112
+ static getPlainParameter(parameter) {
113
+ if (!parameter) {
114
+ return parameter;
115
+ }
116
+ return parameter?.split('?')?.shift()?.split('#')?.shift();
117
+ }
118
+ /**
119
+ * Get ID of an url parameter
120
+ */
121
+ static getParameterId(parameter) {
122
+ if (!parameter) {
123
+ return parameter;
124
+ }
125
+ return Helper.getPlainParameter(parameter)?.split('-').pop();
126
+ }
127
+ /**
128
+ * Delay
129
+ */
130
+ static delay(ms) {
131
+ const promise = new Promise((resolve) => setTimeout(resolve, ms));
132
+ return promise;
133
+ }
134
+ /**
135
+ * Deep freeze
136
+ * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze#What_is_shallow_freeze
137
+ */
138
+ static deepFreeze(object, preparedObjects = []) {
139
+ // Prevent infinit regress
140
+ if (preparedObjects.includes(object)) {
141
+ return object;
142
+ }
143
+ preparedObjects.push(object);
144
+ // Retrieve the property names defined on object
145
+ const propNames = Object.getOwnPropertyNames(object);
146
+ // Freeze properties before freezing self
147
+ for (const name of propNames) {
148
+ const value = object[name];
149
+ if (value && typeof value === 'object') {
150
+ Helper.deepFreeze(value, preparedObjects);
151
+ }
152
+ }
153
+ return Object.freeze(object);
154
+ }
155
+ /**
156
+ * Generates an unique identifier with 24 characters
157
+ */
158
+ static getUID() {
159
+ let dt = new Date().getTime();
160
+ const uuid = 'xxxxxxxxxxxxxxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
161
+ // eslint-disable-next-line no-bitwise
162
+ const r = (dt + Math.random() * 16) % 16 | 0;
163
+ dt = Math.floor(dt / 16);
164
+ // eslint-disable-next-line no-bitwise
165
+ return (c === 'x' ? r : (r & 0x3) | 0x8).toString(16);
166
+ });
167
+ return uuid;
168
+ }
169
+ /**
170
+ * Parse date string to date object
171
+ */
172
+ static parseDate(dateString) {
173
+ const reISO = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*))(?:Z|(\+|-)([\d|:]*))?$/;
174
+ const reMsAjax = /^\/Date\((d|-|.*)\)[\/|\\]$/;
175
+ if (typeof dateString === 'string') {
176
+ const isoExec = reISO.exec(dateString);
177
+ if (isoExec) {
178
+ return new Date(dateString);
179
+ }
180
+ const msAjaxExec = reMsAjax.exec(dateString);
181
+ if (msAjaxExec) {
182
+ const cleaned = msAjaxExec[1].split(/[-+,.]/);
183
+ return new Date(cleaned[0] ? +cleaned[0] : 0 - +cleaned[1]);
184
+ }
185
+ }
186
+ return dateString;
187
+ }
188
+ /**
189
+ * Get browser name and version
190
+ */
191
+ static getBrowser() {
192
+ const userAgent = navigator.userAgent;
193
+ let data = userAgent.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i) || [];
194
+ let version;
195
+ if (/trident/i.test(data[1])) {
196
+ version = /\brv[ :]+(\d+)/g.exec(userAgent) || [];
197
+ return { name: 'IE', version: version[1] || '' };
198
+ }
199
+ if (data[1] === 'Chrome') {
200
+ version = userAgent.match(/\bOPR|Edge\/(\d+)/);
201
+ if (version != null) {
202
+ return { name: 'Opera', version: version[1] };
203
+ }
204
+ }
205
+ data = data[2] ? [data[1], data[2]] : [navigator.appName, navigator.appVersion, '-?'];
206
+ version = userAgent.match(/version\/(\d+)/i);
207
+ if (version !== null) {
208
+ data.splice(1, 1, version[1]);
209
+ }
210
+ return {
211
+ name: data[0],
212
+ version: data[1],
213
+ };
214
+ }
215
+ /**
216
+ * Whether first parameter is a deep subset of second parameter
217
+ * Hint: functions will be ignored
218
+ */
219
+ static isSubset(a, b) {
220
+ // Equal
221
+ if (a === b) {
222
+ return true;
223
+ }
224
+ // Different type
225
+ if (typeof a !== typeof b) {
226
+ return false;
227
+ }
228
+ // Process array
229
+ if (Array.isArray(a)) {
230
+ for (const [key, value] of Object.entries(a)) {
231
+ if (Helper.isSubset(value, b[key])) {
232
+ return false;
233
+ }
234
+ }
235
+ return true;
236
+ }
237
+ // Process object
238
+ if (typeof a === 'object') {
239
+ const plain = JSON.parse(JSON.stringify(a));
240
+ for (const [key, value] of Object.entries(plain)) {
241
+ if (Helper.isSubset(value, b[key])) {
242
+ return false;
243
+ }
244
+ }
245
+ return true;
246
+ }
247
+ // Else
248
+ return true;
249
+ }
250
+ /**
251
+ * Whether parameters are equal (have equal properties)
252
+ * Hint: functions will be ignored
253
+ */
254
+ static isEqual(a, b) {
255
+ return Helper.isSubset(a, b) && Helper.isSubset(b, a);
256
+ }
257
+ /**
258
+ * First level difference of two objects
259
+ * Hint: functions will be ignored and when an array or an object is different the hole array or object will used as property value
260
+ *
261
+ * @returns Record<string, any> Object with properties from first object
262
+ */
263
+ static getDiff(a, b, clone = true) {
264
+ const result = {};
265
+ let firstObject = a;
266
+ if (clone) {
267
+ firstObject = JSON.parse(JSON.stringify(a));
268
+ }
269
+ for (const [key, value] of Object.entries(firstObject)) {
270
+ if (!Helper.isSubset(value, b[key])) {
271
+ result[key] = value;
272
+ }
273
+ }
274
+ return result;
275
+ }
276
+ /**
277
+ * Check if propertie is type of HTMLCollection or NodeList
278
+ * See https://stackoverflow.com/a/7238344
279
+ *
280
+ * @param nodes
281
+ */
282
+ static isNodeList(nodes) {
283
+ try {
284
+ const stringRepr = Object.prototype.toString.call(nodes);
285
+ return (typeof nodes === 'object' &&
286
+ /^\[object (HTMLCollection|NodeList|Object)\]$/.test(stringRepr) &&
287
+ typeof nodes.length === 'number' &&
288
+ (nodes.length === 0 || (typeof nodes[0] === 'object' && nodes[0].nodeType > 0)));
289
+ }
290
+ catch (e) {
291
+ return false;
292
+ }
293
+ }
294
+ static arrayBufferToBase64(buffer) {
295
+ let binary = '';
296
+ const bytes = new Uint8Array(buffer);
297
+ const len = bytes.byteLength;
298
+ for (let i = 0; i < len; i++) {
299
+ binary += String.fromCharCode(bytes[i]);
300
+ }
301
+ return `data:image/*;base64, ${window.btoa(binary)}`;
302
+ }
303
+ }
304
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYmFzZS9zaGFyZWQvY2xhc3Nlcy9oZWxwZXIuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7O0dBRUc7QUFDSCxNQUFNLE9BQU8sTUFBTTtJQUNqQjs7T0FFRztJQUNILE1BQU0sQ0FBQyxNQUFNLENBQTZCLE9BQVksRUFBRSxNQUE4QjtRQUNwRixPQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ2xDLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNqRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7b0JBQy9CLEtBQUssTUFBTSxJQUFJLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO3dCQUMvQixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTs0QkFDaEMsT0FBTyxLQUFLLENBQUM7eUJBQ2Q7cUJBQ0Y7aUJBQ0Y7cUJBQU0sSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssS0FBSyxFQUFFO29CQUNqQyxPQUFPLEtBQUssQ0FBQztpQkFDZDthQUNGO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUMsSUFBSSxFQUFFLENBQVUsQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQVEsRUFBRSxVQUFrQyxFQUFFO1FBQzdELFNBQVM7UUFDVCxNQUFNLE1BQU0sR0FBRztZQUNiLFFBQVEsRUFBRSxLQUFLO1lBQ2YsR0FBRyxPQUFPO1NBQ1gsQ0FBQztRQUVGLFlBQVk7UUFDWixHQUFHLEdB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QUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNO1FBQy9CLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNoQixNQUFNLEtBQUssR0FBRyxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyQyxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDO1FBQzdCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDNUIsTUFBTSxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDekM7UUFDRCxPQUFPLHdCQUF3QixNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7SUFDdkQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhbmRhcmQgfSBmcm9tICcuL3N0YW5kYXJkLmNsYXNzJztcblxuLyoqXG4gKiBIZWxwZXIgY2xhc3NcbiAqL1xuZXhwb3J0IGNsYXNzIEhlbHBlciB7XG4gIC8qKlxuICAgKiBTaW1wbGUgZmlsdGVyIGZ1bmN0aW9uIGZvciBwbGFpbiBvYmplY3RzXG4gICAqL1xuICBzdGF0aWMgZmlsdGVyPFQgPSB7IFtrZXk6IHN0cmluZ106IGFueSB9PihvYmplY3RzOiBUW10sIGZpbHRlcjogeyBba2V5OiBzdHJpbmddOiBhbnkgfSk6IFRbXSB7XG4gICAgcmV0dXJuIChvYmplY3RzPy5maWx0ZXIoKGVsZW1lbnQpID0+IHtcbiAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGZpbHRlcikpIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZWxlbWVudFtrZXldKSkge1xuICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBlbGVtZW50W2tleV0pIHtcbiAgICAgICAgICAgIGlmICghZWxlbWVudFtrZXldLmluY2x1ZHModmFsdWUpKSB7XG4gICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoZWxlbWVudFtrZXldICE9PSB2YWx1ZSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSkgfHwgW10pIGFzIGFueVtdO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnQgdG8gYSB1cmwvdXJpIGNvbmZvcm0gc3RyaW5nXG4gICAqIE9ubHk6XG4gICAqIC0gbG93ZXIgY2FzZVxuICAgKiAtIGNoYXJzLCBudW1iZXJzIGFuZCBoeXBoZW5zXG4gICAqL1xuICBzdGF0aWMgdXJsU3RyaW5nKHN0cjogYW55LCBvcHRpb25zOiB7IGFsbG93QWxsPzogYm9vbGVhbiB9ID0ge30pOiBzdHJpbmcge1xuICAgIC8vIENvbmZpZ1xuICAgIGNvbnN0IGNvbmZpZyA9IHtcbiAgICAgIGFsbG93QWxsOiBmYWxzZSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfTtcblxuICAgIC8vIFRvIHN0cmluZ1xuICAgIHN0ciA9IHN0ciArICcnO1xuXG4gICAgLy8gVHJpbVxuICAgIHN0ciA9IHN0ci50cmltKCk7XG5cbiAgICAvLyBMb3dlciBjYXNlXG4gICAgc3RyID0gc3RyLnRvTG93ZXJDYXNlKCk7XG5cbiAgICBpZiAoIWNvbmZpZy5hbGxvd0FsbCkge1xuICAgICAgLy8gUmVwbGFjZSBzcGFjZXNcbiAgICAgIHN0ciA9IHN0ci50cmltKCkucmVwbGFjZSgvXFxzKy9nLCAnLScpO1xuXG4gICAgICAvLyBSZXBsYWNlIHNvbWUgc3BlY2lhbCBjaGFyc1xuICAgICAgc3RyID0gc3RyLnJlcGxhY2UoJ8OkJywgJ2FlJyk7XG4gICAgICBzdHIgPSBzdHIucmVwbGFjZSgnw7YnLCAnb2UnKTtcbiAgICAgIHN0ciA9IHN0ci5yZXBsYWNlKCfDvCcsICd1ZScpO1xuICAgICAgc3RyID0gc3RyLnJlcGxhY2UoJ8OfJywgJ3NzJyk7XG5cbiAgICAgIC8vIFJlbW92ZSBvdGhlciBzcGVjaWFsIGNoYXJzXG4gICAgICBzdHIgPSBzdHIucmVwbGFjZSgvW15hLXpBLVowLTktXS9nLCAnJyk7XG4gICAgfVxuXG4gICAgLy8gUmV0dXJuIHVybCBjb25mb3JtIHN0cmluZ1xuICAgIHJldHVybiBlbmNvZGVVUkkoc3RyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTaW1wbGUgbWFwIGZ1bmN0aW9uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIG1hcDxUID0geyBba2V5OiBzdHJpbmddOiBhbnkgfT4oXG4gICAgc291cmNlOiBQYXJ0aWFsPFQ+IHwgeyBba2V5OiBzdHJpbmddOiBhbnkgfSxcbiAgICB0YXJnZXQ6IFQsXG4gICAgb3B0aW9uczogeyBmdW5jQWxsb3dlZD86IGJvb2xlYW47IGRhdGVTdHJpbmdUb0RhdGU/OiBib29sZWFuIHwgc3RyaW5nW10gfSA9IHt9XG4gICk6IFQge1xuICAgIC8vIFNldCBjb25maWdcbiAgICBjb25zdCBjb25maWcgPSB7XG4gICAgICBmdW5jQWxsb3dlZDogZmFsc2UsXG4gICAgICBkYXRlU3RyaW5nVG9EYXRlOiB0cnVlLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9O1xuXG4gICAgLy8gQ2hlY2sgc291cmNlXG4gICAgaWYgKCFzb3VyY2UgfHwgdHlwZW9mIHNvdXJjZSAhPT0gJ29iamVjdCcgfHwgQXJyYXkuaXNBcnJheShzb3VyY2UpKSB7XG4gICAgICByZXR1cm4gdGFyZ2V0O1xuICAgIH1cblxuICAgIC8vIFVwZGF0ZSBwcm9wZXJ0aWVzXG4gICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXModGFyZ2V0KSkge1xuICAgICAgaWYgKHNvdXJjZVtrZXldICE9PSB1bmRlZmluZWQgJiYgKGNvbmZpZy5mdW5jQWxsb3dlZCB8fCB0eXBlb2YgKHNvdXJjZVtrZXldICE9PSAnZnVuY3Rpb24nKSkpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBzb3VyY2Vba2V5XSA9PT0gJ3N0cmluZycgJiYgY29uZmlnLmRhdGVTdHJpbmdUb0RhdGUpIHtcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShjb25maWcuZGF0ZVN0cmluZ1RvRGF0ZSkpIHtcbiAgICAgICAgICAgIGlmIChjb25maWcuZGF0ZVN0cmluZ1RvRGF0ZS5pbmNsdWRlcyhrZXkpKSB7XG4gICAgICAgICAgICAgIHRhcmdldFtrZXldID0gSGVscGVyLnBhcnNlRGF0ZShzb3VyY2Vba2V5XSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRhcmdldFtrZXldID0gSGVscGVyLnBhcnNlRGF0ZShzb3VyY2Vba2V5XSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRhcmdldFtrZXldID0gc291cmNlW2tleV07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXR1cm4gdGFyZ2V0XG4gICAgcmV0dXJuIHRhcmdldDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgT2JqZWN0IG9yIE9iamVjdHMgb2Ygc3BlY2lmaWVkIHR5cGUgd2l0aCBzcGVjaWZpZWQgZGF0YVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBtYXBzPFQgZXh0ZW5kcyBTdGFuZGFyZD4oXG4gICAgZGF0YTogUGFydGlhbDxUPiB8IFBhcnRpYWw8VD5bXSB8IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCB7IFtrZXk6IHN0cmluZ106IGFueSB9W10sXG4gICAgdGFyZ2V0Q2xhc3M6IG5ldyAoLi4uYXJnczogYW55W10pID0+IFRcbiAgKTogVFtdIHtcbiAgICAvLyBDaGVjayBkYXRhXG4gICAgaWYgKCFkYXRhIHx8IHR5cGVvZiBkYXRhICE9PSAnb2JqZWN0Jykge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBhcnJheVxuICAgIGlmICghQXJyYXkuaXNBcnJheShkYXRhKSkge1xuICAgICAgZGF0YSA9IFtkYXRhXTtcbiAgICB9XG5cbiAgICAvLyBNYXBcbiAgICByZXR1cm4gKGRhdGEgYXMgYW55KS5tYXAoKGl0ZW06IGFueSkgPT4ge1xuICAgICAgcmV0dXJuICh0YXJnZXRDbGFzcyBhcyBhbnkpLm1hcChpdGVtKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgcGxhaW4gcGFyYW1ldGVyXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdldFBsYWluUGFyYW1ldGVyKHBhcmFtZXRlcjogc3RyaW5nKSB7XG4gICAgaWYgKCFwYXJhbWV0ZXIpIHtcbiAgICAgIHJldHVybiBwYXJhbWV0ZXI7XG4gICAgfVxuICAgIHJldHVybiBwYXJhbWV0ZXI/LnNwbGl0KCc/Jyk/LnNoaWZ0KCk/LnNwbGl0KCcjJyk/LnNoaWZ0KCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IElEIG9mIGFuIHVybCBwYXJhbWV0ZXJcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0UGFyYW1ldGVySWQocGFyYW1ldGVyOiBzdHJpbmcpIHtcbiAgICBpZiAoIXBhcmFtZXRlcikge1xuICAgICAgcmV0dXJuIHBhcmFtZXRlcjtcbiAgICB9XG4gICAgcmV0dXJuIEhlbHBlci5nZXRQbGFpblBhcmFtZXRlcihwYXJhbWV0ZXIpPy5zcGxpdCgnLScpLnBvcCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGF5XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGRlbGF5KG1zOiBudW1iZXIpIHtcbiAgICBjb25zdCBwcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgbXMpKTtcbiAgICByZXR1cm4gcHJvbWlzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWVwIGZyZWV6ZVxuICAgKiBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvT2JqZWN0L2ZyZWV6ZSNXaGF0X2lzX3NoYWxsb3dfZnJlZXplXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGRlZXBGcmVlemUob2JqZWN0OiBhbnksIHByZXBhcmVkT2JqZWN0cyA9IFtdKSB7XG4gICAgLy8gUHJldmVudCBpbmZpbml0IHJlZ3Jlc3NcbiAgICBpZiAocHJlcGFyZWRPYmplY3RzLmluY2x1ZGVzKG9iamVjdCBhcyBuZXZlcikpIHtcbiAgICAgIHJldHVybiBvYmplY3Q7XG4gICAgfVxuICAgIHByZXBhcmVkT2JqZWN0cy5wdXNoKG9iamVjdCBhcyBuZXZlcik7XG5cbiAgICAvLyBSZXRyaWV2ZSB0aGUgcHJvcGVydHkgbmFtZXMgZGVmaW5lZCBvbiBvYmplY3RcbiAgICBjb25zdCBwcm9wTmFtZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhvYmplY3QpO1xuXG4gICAgLy8gRnJlZXplIHByb3BlcnRpZXMgYmVmb3JlIGZyZWV6aW5nIHNlbGZcbiAgICBmb3IgKGNvbnN0IG5hbWUgb2YgcHJvcE5hbWVzKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IG9iamVjdFtuYW1lXTtcblxuICAgICAgaWYgKHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgSGVscGVyLmRlZXBGcmVlemUodmFsdWUsIHByZXBhcmVkT2JqZWN0cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIE9iamVjdC5mcmVlemUob2JqZWN0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYW4gdW5pcXVlIGlkZW50aWZpZXIgd2l0aCAyNCBjaGFyYWN0ZXJzXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdldFVJRCgpOiBzdHJpbmcge1xuICAgIGxldCBkdCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgIGNvbnN0IHV1aWQgPSAneHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4Jy5yZXBsYWNlKC9beHldL2csIChjKSA9PiB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tYml0d2lzZVxuICAgICAgY29uc3QgciA9IChkdCArIE1hdGgucmFuZG9tKCkgKiAxNikgJSAxNiB8IDA7XG4gICAgICBkdCA9IE1hdGguZmxvb3IoZHQgLyAxNik7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tYml0d2lzZVxuICAgICAgcmV0dXJuIChjID09PSAneCcgPyByIDogKHIgJiAweDMpIHwgMHg4KS50b1N0cmluZygxNik7XG4gICAgfSk7XG4gICAgcmV0dXJuIHV1aWQ7XG4gIH1cblxuICAvKipcbiAgICogUGFyc2UgZGF0ZSBzdHJpbmcgdG8gZGF0ZSBvYmplY3RcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcGFyc2VEYXRlKGRhdGVTdHJpbmc6IHN0cmluZykge1xuICAgIGNvbnN0IHJlSVNPID0gL14oXFxkezR9KS0oXFxkezJ9KS0oXFxkezJ9KVQoXFxkezJ9KTooXFxkezJ9KTooXFxkezJ9KD86XFwuXFxkKikpKD86WnwoXFwrfC0pKFtcXGR8Ol0qKSk/JC87XG4gICAgY29uc3QgcmVNc0FqYXggPSAvXlxcL0RhdGVcXCgoZHwtfC4qKVxcKVtcXC98XFxcXF0kLztcbiAgICBpZiAodHlwZW9mIGRhdGVTdHJpbmcgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBpc29FeGVjID0gcmVJU08uZXhlYyhkYXRlU3RyaW5nKTtcbiAgICAgIGlmIChpc29FeGVjKSB7XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShkYXRlU3RyaW5nKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG1zQWpheEV4ZWMgPSByZU1zQWpheC5leGVjKGRhdGVTdHJpbmcpO1xuICAgICAgaWYgKG1zQWpheEV4ZWMpIHtcbiAgICAgICAgY29uc3QgY2xlYW5lZCA9IG1zQWpheEV4ZWNbMV0uc3BsaXQoL1stKywuXS8pO1xuICAgICAgICByZXR1cm4gbmV3IERhdGUoY2xlYW5lZFswXSA/ICtjbGVhbmVkWzBdIDogMCAtICtjbGVhbmVkWzFdKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGRhdGVTdHJpbmc7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGJyb3dzZXIgbmFtZSBhbmQgdmVyc2lvblxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnZXRCcm93c2VyKCkge1xuICAgIGNvbnN0IHVzZXJBZ2VudCA9IG5hdmlnYXRvci51c2VyQWdlbnQ7XG4gICAgbGV0IGRhdGEgPSB1c2VyQWdlbnQubWF0Y2goLyhvcGVyYXxjaHJvbWV8c2FmYXJpfGZpcmVmb3h8bXNpZXx0cmlkZW50KD89XFwvKSlcXC8/XFxzKihcXGQrKS9pKSB8fCBbXTtcbiAgICBsZXQgdmVyc2lvbjtcbiAgICBpZiAoL3RyaWRlbnQvaS50ZXN0KGRhdGFbMV0pKSB7XG4gICAgICB2ZXJzaW9uID0gL1xcYnJ2WyA6XSsoXFxkKykvZy5leGVjKHVzZXJBZ2VudCkgfHwgW107XG4gICAgICByZXR1cm4geyBuYW1lOiAnSUUnLCB2ZXJzaW9uOiB2ZXJzaW9uWzFdIHx8ICcnIH07XG4gICAgfVxuICAgIGlmIChkYXRhWzFdID09PSAnQ2hyb21lJykge1xuICAgICAgdmVyc2lvbiA9IHVzZXJBZ2VudC5tYXRjaCgvXFxiT1BSfEVkZ2VcXC8oXFxkKykvKTtcbiAgICAgIGlmICh2ZXJzaW9uICE9IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHsgbmFtZTogJ09wZXJhJywgdmVyc2lvbjogdmVyc2lvblsxXSB9O1xuICAgICAgfVxuICAgIH1cbiAgICBkYXRhID0gZGF0YVsyXSA/IFtkYXRhWzFdLCBkYXRhWzJdXSA6IFtuYXZpZ2F0b3IuYXBwTmFtZSwgbmF2aWdhdG9yLmFwcFZlcnNpb24sICctPyddO1xuICAgIHZlcnNpb24gPSB1c2VyQWdlbnQubWF0Y2goL3ZlcnNpb25cXC8oXFxkKykvaSk7XG4gICAgaWYgKHZlcnNpb24gIT09IG51bGwpIHtcbiAgICAgIGRhdGEuc3BsaWNlKDEsIDEsIHZlcnNpb25bMV0pO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgbmFtZTogZGF0YVswXSxcbiAgICAgIHZlcnNpb246IGRhdGFbMV0sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGZpcnN0IHBhcmFtZXRlciBpcyBhIGRlZXAgc3Vic2V0IG9mIHNlY29uZCBwYXJhbWV0ZXJcbiAgICogSGludDogZnVuY3Rpb25zIHdpbGwgYmUgaWdub3JlZFxuICAgKi9cbiAgc3RhdGljIGlzU3Vic2V0KGE6IGFueSwgYjogYW55KSB7XG4gICAgLy8gRXF1YWxcbiAgICBpZiAoYSA9PT0gYikge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLy8gRGlmZmVyZW50IHR5cGVcbiAgICBpZiAodHlwZW9mIGEgIT09IHR5cGVvZiBiKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gUHJvY2VzcyBhcnJheVxuICAgIGlmIChBcnJheS5pc0FycmF5KGEpKSB7XG4gICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhhKSkge1xuICAgICAgICBpZiAoSGVscGVyLmlzU3Vic2V0KHZhbHVlLCBiW2tleV0pKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvLyBQcm9jZXNzIG9iamVjdFxuICAgIGlmICh0eXBlb2YgYSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIGNvbnN0IHBsYWluID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShhKSk7XG4gICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhwbGFpbikpIHtcbiAgICAgICAgaWYgKEhlbHBlci5pc1N1YnNldCh2YWx1ZSwgYltrZXldKSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLy8gRWxzZVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgcGFyYW1ldGVycyBhcmUgZXF1YWwgKGhhdmUgZXF1YWwgcHJvcGVydGllcylcbiAgICogSGludDogZnVuY3Rpb25zIHdpbGwgYmUgaWdub3JlZFxuICAgKi9cbiAgc3RhdGljIGlzRXF1YWwoYTogYW55LCBiOiBhbnkpIHtcbiAgICByZXR1cm4gSGVscGVyLmlzU3Vic2V0KGEsIGIpICYmIEhlbHBlci5pc1N1YnNldChiLCBhKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaXJzdCBsZXZlbCBkaWZmZXJlbmNlIG9mIHR3byBvYmplY3RzXG4gICAqIEhpbnQ6IGZ1bmN0aW9ucyB3aWxsIGJlIGlnbm9yZWQgYW5kIHdoZW4gYW4gYXJyYXkgb3IgYW4gb2JqZWN0IGlzIGRpZmZlcmVudCB0aGUgaG9sZSBhcnJheSBvciBvYmplY3Qgd2lsbCB1c2VkIGFzIHByb3BlcnR5IHZhbHVlXG4gICAqXG4gICAqIEByZXR1cm5zIFJlY29yZDxzdHJpbmcsIGFueT4gT2JqZWN0IHdpdGggcHJvcGVydGllcyBmcm9tIGZpcnN0IG9iamVjdFxuICAgKi9cbiAgc3RhdGljIGdldERpZmYoYTogUmVjb3JkPHN0cmluZywgYW55PiwgYjogUmVjb3JkPHN0cmluZywgYW55PiwgY2xvbmU6IGJvb2xlYW4gPSB0cnVlKSB7XG4gICAgY29uc3QgcmVzdWx0ID0ge307XG4gICAgbGV0IGZpcnN0T2JqZWN0ID0gYTtcbiAgICBpZiAoY2xvbmUpIHtcbiAgICAgIGZpcnN0T2JqZWN0ID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShhKSk7XG4gICAgfVxuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGZpcnN0T2JqZWN0KSkge1xuICAgICAgaWYgKCFIZWxwZXIuaXNTdWJzZXQodmFsdWUsIGJba2V5XSkpIHtcbiAgICAgICAgcmVzdWx0W2tleV0gPSB2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBwcm9wZXJ0aWUgaXMgdHlwZSBvZiBIVE1MQ29sbGVjdGlvbiBvciBOb2RlTGlzdFxuICAgKiBTZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzcyMzgzNDRcbiAgICpcbiAgICogQHBhcmFtIG5vZGVzXG4gICAqL1xuICBzdGF0aWMgaXNOb2RlTGlzdChub2Rlcykge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBzdHJpbmdSZXByID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG5vZGVzKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHR5cGVvZiBub2RlcyA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgL15cXFtvYmplY3QgKEhUTUxDb2xsZWN0aW9ufE5vZGVMaXN0fE9iamVjdClcXF0kLy50ZXN0KHN0cmluZ1JlcHIpICYmXG4gICAgICAgIHR5cGVvZiBub2Rlcy5sZW5ndGggPT09ICdudW1iZXInICYmXG4gICAgICAgIChub2Rlcy5sZW5ndGggPT09IDAgfHwgKHR5cGVvZiBub2Rlc1swXSA9PT0gJ29iamVjdCcgJiYgbm9kZXNbMF0ubm9kZVR5cGUgPiAwKSlcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBhcnJheUJ1ZmZlclRvQmFzZTY0KGJ1ZmZlcikge1xuICAgIGxldCBiaW5hcnkgPSAnJztcbiAgICBjb25zdCBieXRlcyA9IG5ldyBVaW50OEFycmF5KGJ1ZmZlcik7XG4gICAgY29uc3QgbGVuID0gYnl0ZXMuYnl0ZUxlbmd0aDtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICBiaW5hcnkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShieXRlc1tpXSk7XG4gICAgfVxuICAgIHJldHVybiBgZGF0YTppbWFnZS8qO2Jhc2U2NCwgJHt3aW5kb3cuYnRvYShiaW5hcnkpfWA7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,40 @@
1
+ import { Helper } from './helper.class';
2
+ /**
3
+ * Standard class
4
+ * Other classes should extend the Standard class, if they offer own functions
5
+ * If the extended class uses object properties with own map functions, it should implement its own map function
6
+ */
7
+ export class Standard {
8
+ /**
9
+ * Static map method
10
+ */
11
+ static map(data, item = new this()) {
12
+ return item.map(data);
13
+ }
14
+ /**
15
+ * Map data into an object
16
+ */
17
+ map(data) {
18
+ return Helper.map(data, this);
19
+ }
20
+ /**
21
+ * Clone object (and map additional data)
22
+ */
23
+ clone(mapData) {
24
+ const current = JSON.parse(JSON.stringify(this));
25
+ if (mapData) {
26
+ Object.assign(current, mapData);
27
+ }
28
+ return new this.constructor().map(current);
29
+ }
30
+ /**
31
+ * Compare this with another object
32
+ * Hint: functions will be ignored and when an array or an object is different the hole array or object will used as property value
33
+ *
34
+ * @return Record<string, any> with properties of this object which are different
35
+ */
36
+ getDiff(compare, clone = true) {
37
+ return Helper.getDiff(this, compare, clone);
38
+ }
39
+ }
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1iYXNlL3NoYXJlZC9jbGFzc2VzL3N0YW5kYXJkLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4Qzs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLFFBQVE7SUFDbkI7O09BRUc7SUFDSSxNQUFNLENBQUMsR0FBRyxDQUVmLElBQXlDLEVBQ3pDLE9BQVUsSUFBSSxJQUFJLEVBQUU7UUFFcEIsT0FBUSxJQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7T0FFRztJQUNJLEdBQUcsQ0FBQyxJQUE0QztRQUNyRCxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxPQUFnRDtRQUMzRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNqRCxJQUFJLE9BQU8sRUFBRTtZQUNYLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ2pDO1FBQ0QsT0FBTyxJQUFLLElBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksT0FBTyxDQUFDLE9BQTRCLEVBQUUsUUFBaUIsSUFBSTtRQUNoRSxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIZWxwZXIgfSBmcm9tICcuL2hlbHBlci5jbGFzcyc7XG5cbi8qKlxuICogU3RhbmRhcmQgY2xhc3NcbiAqIE90aGVyIGNsYXNzZXMgc2hvdWxkIGV4dGVuZCB0aGUgU3RhbmRhcmQgY2xhc3MsIGlmIHRoZXkgb2ZmZXIgb3duIGZ1bmN0aW9uc1xuICogSWYgdGhlIGV4dGVuZGVkIGNsYXNzIHVzZXMgb2JqZWN0IHByb3BlcnRpZXMgd2l0aCBvd24gbWFwIGZ1bmN0aW9ucywgaXQgc2hvdWxkIGltcGxlbWVudCBpdHMgb3duIG1hcCBmdW5jdGlvblxuICovXG5leHBvcnQgY2xhc3MgU3RhbmRhcmQge1xuICAvKipcbiAgICogU3RhdGljIG1hcCBtZXRob2RcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbWFwPFQgZXh0ZW5kcyBTdGFuZGFyZD4oXG4gICAgdGhpczogbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gVCxcbiAgICBkYXRhOiBQYXJ0aWFsPFQ+IHwgeyBba2V5OiBzdHJpbmddOiBhbnkgfSxcbiAgICBpdGVtOiBUID0gbmV3IHRoaXMoKVxuICApOiBUIHtcbiAgICByZXR1cm4gKGl0ZW0gYXMgYW55KS5tYXAoZGF0YSk7XG4gIH1cblxuICAvKipcbiAgICogTWFwIGRhdGEgaW50byBhbiBvYmplY3RcbiAgICovXG4gIHB1YmxpYyBtYXAoZGF0YTogUGFydGlhbDx0aGlzPiB8IHsgW2tleTogc3RyaW5nXTogYW55IH0pOiB0aGlzIHtcbiAgICByZXR1cm4gSGVscGVyLm1hcChkYXRhLCB0aGlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9uZSBvYmplY3QgKGFuZCBtYXAgYWRkaXRpb25hbCBkYXRhKVxuICAgKi9cbiAgcHVibGljIGNsb25lKG1hcERhdGE/OiBQYXJ0aWFsPHRoaXM+IHwgeyBba2V5OiBzdHJpbmddOiBhbnkgfSk6IHRoaXMge1xuICAgIGNvbnN0IGN1cnJlbnQgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMpKTtcbiAgICBpZiAobWFwRGF0YSkge1xuICAgICAgT2JqZWN0LmFzc2lnbihjdXJyZW50LCBtYXBEYXRhKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyAodGhpcyBhcyBhbnkpLmNvbnN0cnVjdG9yKCkubWFwKGN1cnJlbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbXBhcmUgdGhpcyB3aXRoIGFub3RoZXIgb2JqZWN0XG4gICAqIEhpbnQ6IGZ1bmN0aW9ucyB3aWxsIGJlIGlnbm9yZWQgYW5kIHdoZW4gYW4gYXJyYXkgb3IgYW4gb2JqZWN0IGlzIGRpZmZlcmVudCB0aGUgaG9sZSBhcnJheSBvciBvYmplY3Qgd2lsbCB1c2VkIGFzIHByb3BlcnR5IHZhbHVlXG4gICAqXG4gICAqIEByZXR1cm4gUmVjb3JkPHN0cmluZywgYW55PiB3aXRoIHByb3BlcnRpZXMgb2YgdGhpcyBvYmplY3Qgd2hpY2ggYXJlIGRpZmZlcmVudFxuICAgKi9cbiAgcHVibGljIGdldERpZmYoY29tcGFyZTogUmVjb3JkPHN0cmluZywgYW55PiwgY2xvbmU6IGJvb2xlYW4gPSB0cnVlKSB7XG4gICAgcmV0dXJuIEhlbHBlci5nZXREaWZmKHRoaXMsIGNvbXBhcmUsIGNsb25lKTtcbiAgfVxufVxuIl19
@@ -13,4 +13,4 @@ export var ComparisonOperatorEnum;
13
13
  ComparisonOperatorEnum["NIN"] = "NIN";
14
14
  ComparisonOperatorEnum["REGEX"] = "REGEX";
15
15
  })(ComparisonOperatorEnum || (ComparisonOperatorEnum = {}));
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyaXNvbi1vcGVyYXRvci5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYmFzZS9zcmMvZW51bXMvY29tcGFyaXNvbi1vcGVyYXRvci5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksc0JBVVg7QUFWRCxXQUFZLHNCQUFzQjtJQUNoQyxtQ0FBUyxDQUFBO0lBQ1QsbUNBQVMsQ0FBQTtJQUNULHFDQUFXLENBQUE7SUFDWCxtQ0FBUyxDQUFBO0lBQ1QsbUNBQVMsQ0FBQTtJQUNULHFDQUFXLENBQUE7SUFDWCxtQ0FBUyxDQUFBO0lBQ1QscUNBQVcsQ0FBQTtJQUNYLHlDQUFlLENBQUE7QUFDakIsQ0FBQyxFQVZXLHNCQUFzQixLQUF0QixzQkFBc0IsUUFVakMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbXBhcmlzb24gb3BlcmF0b3IgZW51bVxuICovXG5leHBvcnQgZW51bSBDb21wYXJpc29uT3BlcmF0b3JFbnVtIHtcbiAgRVEgPSAnRVEnLFxuICBHVCA9ICdHVCcsXG4gIEdURSA9ICdHVEUnLFxuICBJTiA9ICdJTicsXG4gIExUID0gJ0xUJyxcbiAgTFRFID0gJ0xURScsXG4gIE5FID0gJ05FJyxcbiAgTklOID0gJ05JTicsXG4gIFJFR0VYID0gJ1JFR0VYJyxcbn1cbiJdfQ==
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyaXNvbi1vcGVyYXRvci5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYmFzZS9zaGFyZWQvZW51bXMvY29tcGFyaXNvbi1vcGVyYXRvci5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksc0JBVVg7QUFWRCxXQUFZLHNCQUFzQjtJQUNoQyxtQ0FBUyxDQUFBO0lBQ1QsbUNBQVMsQ0FBQTtJQUNULHFDQUFXLENBQUE7SUFDWCxtQ0FBUyxDQUFBO0lBQ1QsbUNBQVMsQ0FBQTtJQUNULHFDQUFXLENBQUE7SUFDWCxtQ0FBUyxDQUFBO0lBQ1QscUNBQVcsQ0FBQTtJQUNYLHlDQUFlLENBQUE7QUFDakIsQ0FBQyxFQVZXLHNCQUFzQixLQUF0QixzQkFBc0IsUUFVakMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbXBhcmlzb24gb3BlcmF0b3IgZW51bVxuICovXG5leHBvcnQgZW51bSBDb21wYXJpc29uT3BlcmF0b3JFbnVtIHtcbiAgRVEgPSAnRVEnLFxuICBHVCA9ICdHVCcsXG4gIEdURSA9ICdHVEUnLFxuICBJTiA9ICdJTicsXG4gIExUID0gJ0xUJyxcbiAgTFRFID0gJ0xURScsXG4gIE5FID0gJ05FJyxcbiAgTklOID0gJ05JTicsXG4gIFJFR0VYID0gJ1JFR0VYJyxcbn1cbiJdfQ==
@@ -0,0 +1,10 @@
1
+ /**
2
+ * GraphQL request type enum
3
+ */
4
+ export var GraphQLRequestType;
5
+ (function (GraphQLRequestType) {
6
+ GraphQLRequestType["QUERY"] = "query";
7
+ GraphQLRequestType["MUTATION"] = "mutation";
8
+ GraphQLRequestType["SUBSCRIPTION"] = "subscription";
9
+ })(GraphQLRequestType || (GraphQLRequestType = {}));
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC1yZXF1ZXN0LXR5cGUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2Uvc2hhcmVkL2VudW1zL2dyYXBocWwtcmVxdWVzdC10eXBlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxNQUFNLENBQU4sSUFBWSxrQkFJWDtBQUpELFdBQVksa0JBQWtCO0lBQzVCLHFDQUFlLENBQUE7SUFDZiwyQ0FBcUIsQ0FBQTtJQUNyQixtREFBNkIsQ0FBQTtBQUMvQixDQUFDLEVBSlcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQUk3QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR3JhcGhRTCByZXF1ZXN0IHR5cGUgZW51bVxuICovXG5leHBvcnQgZW51bSBHcmFwaFFMUmVxdWVzdFR5cGUge1xuICBRVUVSWSA9ICdxdWVyeScsXG4gIE1VVEFUSU9OID0gJ211dGF0aW9uJyxcbiAgU1VCU0NSSVBUSU9OID0gJ3N1YnNjcmlwdGlvbicsXG59XG4iXX0=
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Logical operator enum
3
+ */
4
+ export var LogicalOperatorEnum;
5
+ (function (LogicalOperatorEnum) {
6
+ LogicalOperatorEnum["AND"] = "AND";
7
+ LogicalOperatorEnum["NOR"] = "NOR";
8
+ LogicalOperatorEnum["OR"] = "OR";
9
+ })(LogicalOperatorEnum || (LogicalOperatorEnum = {}));
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naWNhbC1vcGVyYXRvci5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYmFzZS9zaGFyZWQvZW51bXMvbG9naWNhbC1vcGVyYXRvci5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksbUJBSVg7QUFKRCxXQUFZLG1CQUFtQjtJQUM3QixrQ0FBVyxDQUFBO0lBQ1gsa0NBQVcsQ0FBQTtJQUNYLGdDQUFTLENBQUE7QUFDWCxDQUFDLEVBSlcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUk5QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTG9naWNhbCBvcGVyYXRvciBlbnVtXG4gKi9cbmV4cG9ydCBlbnVtIExvZ2ljYWxPcGVyYXRvckVudW0ge1xuICBBTkQgPSAnQU5EJyxcbiAgTk9SID0gJ05PUicsXG4gIE9SID0gJ09SJyxcbn1cbiJdfQ==
@@ -0,0 +1,7 @@
1
+ export var SkeletonType;
2
+ (function (SkeletonType) {
3
+ SkeletonType["LINE"] = "LINE";
4
+ SkeletonType["RECTANGLE"] = "RECTANGLE";
5
+ SkeletonType["AVATAR"] = "AVATAR";
6
+ })(SkeletonType || (SkeletonType = {}));
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2tlbGV0b24tdHlwZS5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYmFzZS9zaGFyZWQvZW51bXMvc2tlbGV0b24tdHlwZS5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFlBSVg7QUFKRCxXQUFZLFlBQVk7SUFDdEIsNkJBQWEsQ0FBQTtJQUNiLHVDQUF1QixDQUFBO0lBQ3ZCLGlDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFKVyxZQUFZLEtBQVosWUFBWSxRQUl2QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFNrZWxldG9uVHlwZSB7XG4gIExJTkUgPSAnTElORScsXG4gIFJFQ1RBTkdMRSA9ICdSRUNUQU5HTEUnLFxuICBBVkFUQVIgPSAnQVZBVEFSJyxcbn1cbiJdfQ==
@@ -0,0 +1,6 @@
1
+ export var SortOrderEnum;
2
+ (function (SortOrderEnum) {
3
+ SortOrderEnum["ASC"] = "ASC";
4
+ SortOrderEnum["DESC"] = "DESC";
5
+ })(SortOrderEnum || (SortOrderEnum = {}));
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1vcmRlci5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYmFzZS9zaGFyZWQvZW51bXMvc29ydC1vcmRlci5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGFBR1g7QUFIRCxXQUFZLGFBQWE7SUFDdkIsNEJBQVcsQ0FBQTtJQUNYLDhCQUFhLENBQUE7QUFDZixDQUFDLEVBSFcsYUFBYSxLQUFiLGFBQWEsUUFHeEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBTb3J0T3JkZXJFbnVtIHtcbiAgQVNDID0gJ0FTQycsXG4gIERFU0MgPSAnREVTQycsXG59XG4iXX0=
@@ -0,0 +1,7 @@
1
+ export var ToastType;
2
+ (function (ToastType) {
3
+ ToastType["ERROR"] = "error";
4
+ ToastType["WARNING"] = "warning";
5
+ ToastType["INFO"] = "info";
6
+ })(ToastType || (ToastType = {}));
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QtdHlwZS5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYmFzZS9zaGFyZWQvZW51bXMvdG9hc3QtdHlwZS5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFNBSVg7QUFKRCxXQUFZLFNBQVM7SUFDbkIsNEJBQWUsQ0FBQTtJQUNmLGdDQUFtQixDQUFBO0lBQ25CLDBCQUFhLENBQUE7QUFDZixDQUFDLEVBSlcsU0FBUyxLQUFULFNBQVMsUUFJcEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBUb2FzdFR5cGUge1xuICBFUlJPUiA9ICdlcnJvcicsXG4gIFdBUk5JTkcgPSAnd2FybmluZycsXG4gIElORk8gPSAnaW5mbycsXG59XG4iXX0=
@@ -0,0 +1,39 @@
1
+ import { createClient } from 'graphql-ws';
2
+ export function createRestartableClient(options) {
3
+ let restartRequested = false;
4
+ let restart = () => {
5
+ restartRequested = true;
6
+ };
7
+ const { on = undefined } = options;
8
+ const client = createClient({
9
+ ...options,
10
+ on: {
11
+ ...on,
12
+ connected: (socket) => {
13
+ // @ts-ignore
14
+ on?.connected?.(socket);
15
+ restart = () => {
16
+ if (socket.readyState === WebSocket.OPEN) {
17
+ // if the socket is still open for the restart, do the restart
18
+ socket.close(4205, 'Client Restart');
19
+ }
20
+ else {
21
+ // otherwise the socket might've closed, indicate that you want
22
+ // a restart on the next connected event
23
+ restartRequested = true;
24
+ }
25
+ };
26
+ // just in case you were eager to restart
27
+ if (restartRequested) {
28
+ restartRequested = false;
29
+ restart();
30
+ }
31
+ },
32
+ },
33
+ });
34
+ return {
35
+ ...client,
36
+ restart: () => restart(),
37
+ };
38
+ }
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3MtY2xpZW50LmZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYmFzZS9zaGFyZWQvZnVuY3Rpb25zL3dzLWNsaWVudC5mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUF5QixNQUFNLFlBQVksQ0FBQztBQU1qRSxNQUFNLFVBQVUsdUJBQXVCLENBQUMsT0FBc0I7SUFDNUQsSUFBSSxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDN0IsSUFBSSxPQUFPLEdBQUcsR0FBRyxFQUFFO1FBQ2pCLGdCQUFnQixHQUFHLElBQUksQ0FBQztJQUMxQixDQUFDLENBQUM7SUFFRixNQUFNLEVBQUUsRUFBRSxHQUFHLFNBQVMsRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUVuQyxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUM7UUFDMUIsR0FBRyxPQUFPO1FBQ1YsRUFBRSxFQUFFO1lBQ0YsR0FBRyxFQUFFO1lBQ0wsU0FBUyxFQUFFLENBQUMsTUFBVyxFQUFFLEVBQUU7Z0JBQ3pCLGFBQWE7Z0JBQ2IsRUFBRSxFQUFFLFNBQVMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUV4QixPQUFPLEdBQUcsR0FBRyxFQUFFO29CQUNiLElBQUksTUFBTSxDQUFDLFVBQVUsS0FBSyxTQUFTLENBQUMsSUFBSSxFQUFFO3dCQUN4Qyw4REFBOEQ7d0JBQzlELE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLENBQUM7cUJBQ3RDO3lCQUFNO3dCQUNMLCtEQUErRDt3QkFDL0Qsd0NBQXdDO3dCQUN4QyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7cUJBQ3pCO2dCQUNILENBQUMsQ0FBQztnQkFFRix5Q0FBeUM7Z0JBQ3pDLElBQUksZ0JBQWdCLEVBQUU7b0JBQ3BCLGdCQUFnQixHQUFHLEtBQUssQ0FBQztvQkFDekIsT0FBTyxFQUFFLENBQUM7aUJBQ1g7WUFDSCxDQUFDO1NBQ0Y7S0FDRixDQUFDLENBQUM7SUFFSCxPQUFPO1FBQ0wsR0FBRyxNQUFNO1FBQ1QsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRTtLQUN6QixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUNsaWVudCwgQ2xpZW50LCBDbGllbnRPcHRpb25zIH0gZnJvbSAnZ3JhcGhxbC13cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzdGFydGFibGVDbGllbnQgZXh0ZW5kcyBDbGllbnQge1xuICByZXN0YXJ0KCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVSZXN0YXJ0YWJsZUNsaWVudChvcHRpb25zOiBDbGllbnRPcHRpb25zKTogUmVzdGFydGFibGVDbGllbnQge1xuICBsZXQgcmVzdGFydFJlcXVlc3RlZCA9IGZhbHNlO1xuICBsZXQgcmVzdGFydCA9ICgpID0+IHtcbiAgICByZXN0YXJ0UmVxdWVzdGVkID0gdHJ1ZTtcbiAgfTtcblxuICBjb25zdCB7IG9uID0gdW5kZWZpbmVkIH0gPSBvcHRpb25zO1xuXG4gIGNvbnN0IGNsaWVudCA9IGNyZWF0ZUNsaWVudCh7XG4gICAgLi4ub3B0aW9ucyxcbiAgICBvbjoge1xuICAgICAgLi4ub24sXG4gICAgICBjb25uZWN0ZWQ6IChzb2NrZXQ6IGFueSkgPT4ge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIG9uPy5jb25uZWN0ZWQ/Lihzb2NrZXQpO1xuXG4gICAgICAgIHJlc3RhcnQgPSAoKSA9PiB7XG4gICAgICAgICAgaWYgKHNvY2tldC5yZWFkeVN0YXRlID09PSBXZWJTb2NrZXQuT1BFTikge1xuICAgICAgICAgICAgLy8gaWYgdGhlIHNvY2tldCBpcyBzdGlsbCBvcGVuIGZvciB0aGUgcmVzdGFydCwgZG8gdGhlIHJlc3RhcnRcbiAgICAgICAgICAgIHNvY2tldC5jbG9zZSg0MjA1LCAnQ2xpZW50IFJlc3RhcnQnKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gb3RoZXJ3aXNlIHRoZSBzb2NrZXQgbWlnaHQndmUgY2xvc2VkLCBpbmRpY2F0ZSB0aGF0IHlvdSB3YW50XG4gICAgICAgICAgICAvLyBhIHJlc3RhcnQgb24gdGhlIG5leHQgY29ubmVjdGVkIGV2ZW50XG4gICAgICAgICAgICByZXN0YXJ0UmVxdWVzdGVkID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgLy8ganVzdCBpbiBjYXNlIHlvdSB3ZXJlIGVhZ2VyIHRvIHJlc3RhcnRcbiAgICAgICAgaWYgKHJlc3RhcnRSZXF1ZXN0ZWQpIHtcbiAgICAgICAgICByZXN0YXJ0UmVxdWVzdGVkID0gZmFsc2U7XG4gICAgICAgICAgcmVzdGFydCgpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0sXG4gIH0pO1xuXG4gIHJldHVybiB7XG4gICAgLi4uY2xpZW50LFxuICAgIHJlc3RhcnQ6ICgpID0+IHJlc3RhcnQoKSxcbiAgfTtcbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const BASE_MODULE_CONFIG = new InjectionToken('BASE_MODULE_CONFIG');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1tb2R1bGUtY29uZmlnLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2Uvc2hhcmVkL2ludGVyZmFjZXMvYmFzZS1tb2R1bGUtY29uZmlnLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBbUUvQyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JhZ2VUeXBlIH0gZnJvbSAnLi4vdHlwZXMvc3RvcmFnZS50eXBlJztcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBiYXNlIG1vZHVsZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VNb2R1bGVDb25maWcge1xuICAvKipcbiAgICogVVJMIHRvIHNlcnZlciBBUElcbiAgICogRGVmYXVsdDogJ2xvY2FsaG9zdDozMDAwJ1xuICAgKi9cbiAgYXBpVXJsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXZWJzb2NrZXQgVVJMIHRvIHNlcnZlciBBUElcbiAgICovXG4gIHdzVXJsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEZWZhdWx0IHJlZGlyZWN0IFVSTCBmb3IgQXV0aEd1YXJkXG4gICAqIERlZmF1bHQ6ICcvYXV0aCdcbiAgICovXG4gIGF1dGhHdWFyZFJlZGlyZWN0VXJsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGxvZ2dpbmcgaXMgZW5hYmxlZCBvciBub3RcbiAgICovXG4gIGxvZ2dpbmc/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBWZXJzaW9uIG9mIHRoZSBBcHAgKGZvciBzdG9yYWdlIGhhbmRsaW5nKVxuICAgKiBEZWZhdWx0OiBudWxsXG4gICAqL1xuICB2ZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQcmVmaXggb2YgdGhlIEFwcCAoZm9yIHN0b3JhZ2UgaGFuZGxpbmcpXG4gICAqIERlZmF1bHQ6IG51bGxcbiAgICovXG4gIHByZWZpeD86IHN0cmluZztcblxuICAvKipcbiAgICogU2Nyb2xsIGRldGVjdGlvbiBvZmZzZXQgZm9yIFNjcm9sbFNlcnZpY2VcbiAgICogU2hvdWxkIGJlID49IHNjcm9sbE9mZnNldFxuICAgKiBEZWZhdWx0OiAyMDBcbiAgICovXG4gIHNjcm9sbERldGVjdGlvbk9mZnNldD86IG51bWJlcjtcblxuICAvKipcbiAgICogU2Nyb2xsIG9mZnNldCBmb3IgU2Nyb2xsU2VydmljZVxuICAgKiBEZWZhdWx0OiAxMDBcbiAgICovXG4gIHNjcm9sbE9mZnNldD86IG51bWJlcjtcblxuICAvKipcbiAgICogU2FtcGxpbmcgcmF0ZSBmb3Igc2Nyb2xsIGRvbmUgZGV0ZWN0aW9uXG4gICAqIERlZmF1bHQ6IDEwMFxuICAgKi9cbiAgc2Nyb2xsU2FtcGxpbmdSYXRlPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUeXBlIG9mIHN0b3JhZ2U6ICdzZXNzaW9uJyBvciAnbG9jYWwnXG4gICAqIERlZmF1bHQ6ICdsb2NhbCdcbiAgICovXG4gIHN0b3JhZ2VUeXBlPzogU3RvcmFnZVR5cGU7XG59XG5cbmV4cG9ydCBjb25zdCBCQVNFX01PRFVMRV9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ0JBU0VfTU9EVUxFX0NPTkZJRycpO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1iYXNlL3NoYXJlZC9pbnRlcmZhY2VzL2JyZWFkY3J1bWIuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEJyZWFkY3J1bWIge1xuICBsYWJlbDogc3RyaW5nO1xuICB1cmw6IHN0cmluZztcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuLWNvbXBvbmVudC1kZWFjdGl2YXRlLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2Uvc2hhcmVkL2ludGVyZmFjZXMvY2FuLWNvbXBvbmVudC1kZWFjdGl2YXRlLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgXCJjYW4gZGVhY3RpdmF0ZVwiIGhhbmRsaW5nIG9mIHRoZSBjb3JyZXNwb25kaW5nIGd1YXJkXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNhbkNvbXBvbmVudERlYWN0aXZhdGUge1xuICBjYW5EZWFjdGl2YXRlOiAoKSA9PiBPYnNlcnZhYmxlPGJvb2xlYW4+IHwgUHJvbWlzZTxib29sZWFuPiB8IGJvb2xlYW47XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYmluZWQtZmlsdGVyLWlucHV0LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2Uvc2hhcmVkL2ludGVyZmFjZXMvY29tYmluZWQtZmlsdGVyLWlucHV0LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9naWNhbE9wZXJhdG9yRW51bSB9IGZyb20gJy4uL2VudW1zL2xvZ2ljYWwtb3BlcmF0b3IuZW51bSc7XG5pbXBvcnQgeyBGaWx0ZXJJbnB1dCB9IGZyb20gJy4vZmlsdGVyLWlucHV0LmludGVyZmFjZSc7XG5cbi8qKlxuICogQ29tYmluZWQgZmlsdGVyIGlucHV0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tYmluZWRGaWx0ZXJJbnB1dCB7XG4gIGxvZ2ljYWxPcGVyYXRvcj86IExvZ2ljYWxPcGVyYXRvckVudW07XG4gIGZpbHRlcnM/OiBGaWx0ZXJJbnB1dFtdO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtb2JqZWN0LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2Uvc2hhcmVkL2ludGVyZmFjZXMvZmllbGQtb2JqZWN0LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHcmFwaFFMIGZpZWxkIG9iamVjdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElGaWVsZE9iamVjdCB7XG4gIFtrZXk6IHN0cmluZ106IHN0cmluZyB8IHN0cmluZ1tdIHwgSUZpZWxkT2JqZWN0O1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYmFzZS9zaGFyZWQvaW50ZXJmYWNlcy9maWVsZC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElGaWVsZE9iamVjdCB9IGZyb20gJy4vZmllbGQtb2JqZWN0LmludGVyZmFjZSc7XG5cbi8qKlxuICogR3JhcGhRTCBmaWVsZHNcbiAqL1xuZXhwb3J0IHR5cGUgSUZpZWxkcyA9IHN0cmluZyB8IHN0cmluZ1tdIHwgSUZpZWxkT2JqZWN0O1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWlucHV0LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2Uvc2hhcmVkL2ludGVyZmFjZXMvZmlsdGVyLWlucHV0LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2luZ2xlRmlsdGVySW5wdXQgfSBmcm9tICcuL3NpbmdsZS1maWx0ZXItaW5wdXQuaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbWJpbmVkRmlsdGVySW5wdXQgfSBmcm9tICcuL2NvbWJpbmVkLWZpbHRlci1pbnB1dC5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIEZpbHRlciBpbnB1dFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlcklucHV0IHtcbiAgY29tYmluZWRGaWx0ZXI/OiBDb21iaW5lZEZpbHRlcklucHV0O1xuICBzaW5nbGVGaWx0ZXI/OiBTaW5nbGVGaWx0ZXJJbnB1dDtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1hcmdzLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2Uvc2hhcmVkL2ludGVyZmFjZXMvZmluZC1hcmdzLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlsdGVySW5wdXQgfSBmcm9tICcuL2ZpbHRlci1pbnB1dC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU29ydElucHV0IH0gZnJvbSAnLi9zb3J0LWlucHV0LmludGVyZmFjZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmluZEFyZ3Mge1xuICBsaW1pdDogbnVtYmVyO1xuICBvZmZzZXQ6IG51bWJlcjtcbiAgc2tpcDogbnVtYmVyO1xuICBzb3J0OiBTb3J0SW5wdXRbXTtcbiAgdGFrZTogbnVtYmVyO1xuICBmaWx0ZXI6IEZpbHRlcklucHV0O1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC1maWVsZHMtb2JqZWN0LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2Uvc2hhcmVkL2ludGVyZmFjZXMvZ3JhcGhxbC1maWVsZHMtb2JqZWN0LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHcmFwaFFMIGZpZWxkcyBvYmplY3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHcmFwaFFMRmllbGRzT2JqZWN0IHtcbiAgW2tleTogc3RyaW5nXTogYm9vbGVhbiB8IChzdHJpbmcgfCBHcmFwaFFMRmllbGRzT2JqZWN0KVtdIHwgR3JhcGhRTEZpZWxkc09iamVjdDtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC1vcHRpb25zLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2Uvc2hhcmVkL2ludGVyZmFjZXMvZ3JhcGhxbC1vcHRpb25zLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR3JhcGhRTFJlcXVlc3RUeXBlIH0gZnJvbSAnLi4vZW51bXMvZ3JhcGhxbC1yZXF1ZXN0LXR5cGUuZW51bSc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgZ3JhcGhxbCByZXF1ZXN0c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElHcmFwaFFMT3B0aW9ucyB7XG4gIGFyZ3VtZW50cz86IGFueTtcbiAgZmllbGRzPzogYW55O1xuICBsb2c/OiBib29sZWFuO1xuICBtb2RlbD86IGFueTtcbiAgdHlwZT86IEdyYXBoUUxSZXF1ZXN0VHlwZTtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC1wbHVzLW9wdGlvbnMuaW50ZXJmYWNlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2Uvc2hhcmVkL2ludGVyZmFjZXMvZ3JhcGhxbC1wbHVzLW9wdGlvbnMuaW50ZXJmYWNlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUdyYXBoUUxPcHRpb25zIH0gZnJvbSAnLi9ncmFwaHFsLW9wdGlvbnMuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBHcmFwaFFMIGV4dHJhIG9wdGlvbnMgZm9yIGVycm9ycyBhbmQgbG9hZGluZyBpbmRpY2F0b3JcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJR3JhcGhRTFBsdXNPcHRpb25zIGV4dGVuZHMgSUdyYXBoUUxPcHRpb25zIHtcbiAgaWdub3JlRXJyb3JzPzogYm9vbGVhbjtcbiAgZXhjbHVkZWRFcnJvcnM/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgbG9hZGluZz86IGJvb2xlYW47XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC10eXBlLWNvbGxlY3Rpb24uaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYmFzZS9zaGFyZWQvaW50ZXJmYWNlcy9ncmFwaHFsLXR5cGUtY29sbGVjdGlvbi5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdyYXBoUUxUeXBlIH0gZnJvbSAnLi4vY2xhc3Nlcy9ncmFwaHFsLXR5cGUuY2xhc3MnO1xuXG4vKipcbiAqIEludGVyZmFjZSBvZiBHcmFwaFFMIHR5cGUgY29sbGVjdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIElHcmFwaFFMVHlwZUNvbGxlY3Rpb24ge1xuICBba2V5OiBzdHJpbmddOiBJR3JhcGhRTFR5cGVDb2xsZWN0aW9uIHwgR3JhcGhRTFR5cGU7XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLWZpbHRlci1pbnB1dC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1iYXNlL3NoYXJlZC9pbnRlcmZhY2VzL3NpbmdsZS1maWx0ZXItaW5wdXQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wYXJpc29uT3BlcmF0b3JFbnVtIH0gZnJvbSAnLi4vZW51bXMvY29tcGFyaXNvbi1vcGVyYXRvci5lbnVtJztcblxuLyoqXG4gKiBTaW5nbGUgZmlsdGVyIGlucHV0IGtqaGdcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTaW5nbGVGaWx0ZXJJbnB1dCB7XG4gIGZpZWxkOiBzdHJpbmc7XG4gIG5vdD86IGJvb2xlYW47XG4gIG9wZXJhdG9yOiBDb21wYXJpc29uT3BlcmF0b3JFbnVtO1xuICBvcHRpb25zPzogc3RyaW5nO1xuICB2YWx1ZTogYW55O1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1pbnB1dC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1iYXNlL3NoYXJlZC9pbnRlcmZhY2VzL3NvcnQtaW5wdXQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTb3J0T3JkZXJFbnVtIH0gZnJvbSAnLi4vZW51bXMvc29ydC1vcmRlci5lbnVtJztcblxuZXhwb3J0IGludGVyZmFjZSBTb3J0SW5wdXQge1xuICBmaWVsZDogc3RyaW5nO1xuICBvcmRlcjogU29ydE9yZGVyRW51bTtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1jb21wb25lbnRzLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2Uvc2hhcmVkL2ludGVyZmFjZXMvdGltZS1jb21wb25lbnRzLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBUaW1lQ29tcG9uZW50cyB7XG4gIHNlY29uZHNUb0RkYXk6IG51bWJlcjtcbiAgbWludXRlc1RvRGRheTogbnVtYmVyO1xuICBob3Vyc1RvRGRheTogbnVtYmVyO1xuICBkYXlzVG9EZGF5OiBudW1iZXI7XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYmFzZS9zaGFyZWQvaW50ZXJmYWNlcy90b2FzdC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRvYXN0VHlwZSB9IGZyb20gJy4uL2VudW1zL3RvYXN0LXR5cGUuZW51bSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9hc3Qge1xuICBpZDogc3RyaW5nO1xuICB0eXBlOiBUb2FzdFR5cGU7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgZXJyb3JDb2RlPzogc3RyaW5nO1xufVxuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVubmUudGVjaC1uZy1iYXNlLXNoYXJlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2Uvc2hhcmVkL2xlbm5lLnRlY2gtbmctYmFzZS1zaGFyZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==