@ironcode/vas-lib 0.0.3 → 0.0.6

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 (66) hide show
  1. package/cjs/lib/entity/index.d.ts +1 -0
  2. package/cjs/lib/entity/index.d.ts.map +1 -1
  3. package/cjs/lib/entity/index.js +1 -0
  4. package/cjs/lib/entity/index.js.map +1 -1
  5. package/cjs/lib/entity/vas-branch.dto.d.ts +22 -0
  6. package/cjs/lib/entity/vas-branch.dto.d.ts.map +1 -0
  7. package/cjs/lib/entity/vas-branch.dto.js +3 -0
  8. package/cjs/lib/entity/vas-branch.dto.js.map +1 -0
  9. package/cjs/lib/entity/vas-branch.model.d.ts +34 -0
  10. package/cjs/lib/entity/vas-branch.model.d.ts.map +1 -0
  11. package/cjs/lib/entity/vas-branch.model.js +66 -0
  12. package/cjs/lib/entity/vas-branch.model.js.map +1 -0
  13. package/cjs/lib/entity/vas-contact.dto.d.ts +0 -1
  14. package/cjs/lib/entity/vas-contact.dto.d.ts.map +1 -1
  15. package/cjs/lib/entity/vas-contact.dto.js.map +1 -1
  16. package/cjs/lib/entity/vas-control.model.d.ts.map +1 -1
  17. package/cjs/lib/entity/vas-control.model.js +9 -0
  18. package/cjs/lib/entity/vas-control.model.js.map +1 -1
  19. package/cjs/lib/entity/vas-form.model.d.ts +13 -0
  20. package/cjs/lib/entity/vas-form.model.d.ts.map +1 -1
  21. package/cjs/lib/entity/vas-form.model.js +41 -0
  22. package/cjs/lib/entity/vas-form.model.js.map +1 -1
  23. package/cjs/lib/entity/vas-job.dto.d.ts +1 -0
  24. package/cjs/lib/entity/vas-job.dto.d.ts.map +1 -1
  25. package/cjs/lib/entity/vas-job.dto.js.map +1 -1
  26. package/cjs/lib/entity/vas-job.model.d.ts +39 -1
  27. package/cjs/lib/entity/vas-job.model.d.ts.map +1 -1
  28. package/cjs/lib/entity/vas-job.model.js +85 -3
  29. package/cjs/lib/entity/vas-job.model.js.map +1 -1
  30. package/cjs/lib/model/index.d.ts +2 -0
  31. package/cjs/lib/model/index.d.ts.map +1 -0
  32. package/cjs/lib/model/index.js +5 -0
  33. package/cjs/lib/model/index.js.map +1 -0
  34. package/cjs/lib/model/vas-time-range.model.d.ts +5 -0
  35. package/cjs/lib/model/vas-time-range.model.d.ts.map +1 -0
  36. package/cjs/lib/model/vas-time-range.model.js +3 -0
  37. package/cjs/lib/model/vas-time-range.model.js.map +1 -0
  38. package/cjs/package.json +7 -2
  39. package/cjs/public-api.d.ts +1 -0
  40. package/cjs/public-api.d.ts.map +1 -1
  41. package/cjs/public-api.js +1 -0
  42. package/cjs/public-api.js.map +1 -1
  43. package/esm2020/lib/entity/index.mjs +2 -1
  44. package/esm2020/lib/entity/vas-branch.dto.mjs +2 -0
  45. package/esm2020/lib/entity/vas-contact.dto.mjs +1 -1
  46. package/esm2020/lib/entity/vas-control.model.mjs +10 -1
  47. package/esm2020/lib/entity/vas-form.model.mjs +42 -1
  48. package/esm2020/lib/entity/vas-job.dto.mjs +1 -1
  49. package/esm2020/lib/entity/vas-job.model.mjs +85 -4
  50. package/esm2020/lib/model/index.mjs +2 -0
  51. package/esm2020/lib/model/vas-time-range.model.mjs +2 -0
  52. package/esm2020/public-api.mjs +2 -1
  53. package/fesm2015/ironcode-vas-lib.mjs +133 -3
  54. package/fesm2015/ironcode-vas-lib.mjs.map +1 -1
  55. package/fesm2020/ironcode-vas-lib.mjs +133 -3
  56. package/fesm2020/ironcode-vas-lib.mjs.map +1 -1
  57. package/lib/entity/index.d.ts +1 -0
  58. package/lib/entity/vas-branch.dto.d.ts +21 -0
  59. package/lib/entity/vas-contact.dto.d.ts +0 -1
  60. package/lib/entity/vas-form.model.d.ts +13 -0
  61. package/lib/entity/vas-job.dto.d.ts +1 -0
  62. package/lib/entity/vas-job.model.d.ts +39 -1
  63. package/lib/model/index.d.ts +1 -0
  64. package/lib/model/vas-time-range.model.d.ts +4 -0
  65. package/package.json +2 -6
  66. package/public-api.d.ts +1 -0
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VasJobModel = void 0;
4
+ const tslib_1 = require("tslib");
4
5
  const angular2_uuid_1 = require("angular2-uuid");
5
6
  const vas_base_model_1 = require("./vas-base.model");
7
+ const moment_1 = tslib_1.__importDefault(require("moment"));
6
8
  /**
7
9
  * JobModel
8
10
  */
@@ -23,8 +25,9 @@ class VasJobModel extends vas_base_model_1.VasBaseModel {
23
25
  * @param {string} jobType
24
26
  * @param {string} assignee
25
27
  * @param {string} formId
28
+ * @param {number} timeZoneOffset
26
29
  */
27
- constructor(id, created, serverCreated, createdBy, modified, serverModified, modifiedBy, account, accessGroup, reference, jobDate, jobStatus, jobType, assignee, formId) {
30
+ constructor(id, created, serverCreated, createdBy, modified, serverModified, modifiedBy, account, accessGroup, reference, jobDate, jobStatus, jobType, assignee, formId, timeZoneOffset) {
28
31
  super(id, created, serverCreated, createdBy, modified, serverModified, modifiedBy);
29
32
  this.id = id;
30
33
  this.created = created;
@@ -41,6 +44,7 @@ class VasJobModel extends vas_base_model_1.VasBaseModel {
41
44
  this.jobType = jobType;
42
45
  this.assignee = assignee;
43
46
  this.formId = formId;
47
+ this.timeZoneOffset = timeZoneOffset;
44
48
  }
45
49
  /**
46
50
  * Returns this with the dynamic interface
@@ -74,7 +78,7 @@ class VasJobModel extends vas_base_model_1.VasBaseModel {
74
78
  static empty() {
75
79
  return new VasJobModel(
76
80
  // eslint-disable-next-line new-cap
77
- angular2_uuid_1.UUID.UUID(), '', '', '', '', '', '', '', '', '', '', '', '', '', '');
81
+ angular2_uuid_1.UUID.UUID(), '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0);
78
82
  }
79
83
  /**
80
84
  * @param {VasJobDto} jobDto
@@ -83,7 +87,7 @@ class VasJobModel extends vas_base_model_1.VasBaseModel {
83
87
  static fromDto(jobDto) {
84
88
  const model = new VasJobModel(
85
89
  // eslint-disable-next-line new-cap
86
- jobDto.id || angular2_uuid_1.UUID.UUID(), jobDto.created || '', jobDto.serverCreated || '', jobDto.createdBy || '', jobDto.modified || '', jobDto.serverModified || '', jobDto.modifiedBy || '', jobDto.account || '', jobDto.accessGroup || '', jobDto.reference || '', jobDto.jobDate || '', jobDto.jobStatus || '', jobDto.jobType || '', jobDto.assignee || '', jobDto.formId || '');
90
+ jobDto.id || angular2_uuid_1.UUID.UUID(), jobDto.created || '', jobDto.serverCreated || '', jobDto.createdBy || '', jobDto.modified || '', jobDto.serverModified || '', jobDto.modifiedBy || '', jobDto.account || '', jobDto.accessGroup || '', jobDto.reference || '', jobDto.jobDate || '', jobDto.jobStatus || '', jobDto.jobType || '', jobDto.assignee || '', jobDto.formId || '', jobDto.timeZoneOffset || 0);
87
91
  const emptyKeys = model.staticProperties;
88
92
  Object
89
93
  .keys(jobDto)
@@ -135,11 +139,20 @@ class VasJobModel extends vas_base_model_1.VasBaseModel {
135
139
  }
136
140
  case 2: {
137
141
  const val0 = this.$this[path[0]];
142
+ if (!val0) {
143
+ return undefined;
144
+ }
138
145
  return val0[path[1]];
139
146
  }
140
147
  case 3: {
141
148
  const val0 = this.$this[path[0]];
149
+ if (!val0) {
150
+ return undefined;
151
+ }
142
152
  const val1 = val0[path[1]];
153
+ if (!val1) {
154
+ return undefined;
155
+ }
143
156
  return val1[path[2]];
144
157
  }
145
158
  default: {
@@ -204,6 +217,75 @@ class VasJobModel extends vas_base_model_1.VasBaseModel {
204
217
  .forEach(prop => dto[prop] = this.$this[prop]);
205
218
  return dto;
206
219
  }
220
+ /**
221
+ * This method will parse a syntax that allows us to build strings from the
222
+ * values of from the job model. For example if the job model was:
223
+ *
224
+ * {
225
+ * foo: 'bar'
226
+ * }
227
+ *
228
+ * and we pass "i am foo {foo}", the result would be:
229
+ *
230
+ * "i am foo bar"
231
+ *
232
+ * we can also use moment to parse dates, for example if the job model was:
233
+ *
234
+ * {
235
+ * created: "2022-01-01T00:00:00+0000"
236
+ * }
237
+ *
238
+ * and we pass "{created|date:YY-MM-DD}", the result would be:
239
+ *
240
+ * "2022-01-01"
241
+ *
242
+ * @param {string} value a string with the syntax
243
+ * @param {ParseSyntaxOptions} options
244
+ * @return {string} the results of parsing the syntax on this job
245
+ */
246
+ parseSyntax(value, options = {
247
+ timeZoneOffset: 0
248
+ }) {
249
+ if (!value || typeof value !== 'string') {
250
+ return '';
251
+ }
252
+ return value.replace(/({[^}]*})/g, (match, token) => {
253
+ const syntax = token.substring(1, token.length - 1);
254
+ let [key, filter] = syntax.split('|');
255
+ key = (key || '').trim();
256
+ filter = (filter || '').trim();
257
+ let filterName, filterArg = '';
258
+ if (filter) {
259
+ const splitIndex = filter.indexOf(':');
260
+ if (splitIndex !== -1) {
261
+ filterName = filter.substring(0, splitIndex);
262
+ filterArg = filter.substring(splitIndex + 1);
263
+ }
264
+ else {
265
+ filterName = filter;
266
+ filterArg = '';
267
+ }
268
+ filterName = (filterName || '').trim();
269
+ filterArg = (filterArg || '').trim();
270
+ }
271
+ const path = key.split('.');
272
+ let result = (this.getValueByPath(path) || '').toString();
273
+ if (filterName && result) {
274
+ switch (filterName) {
275
+ case 'date': {
276
+ return (0, moment_1.default)(result)
277
+ .utcOffset(options.timeZoneOffset)
278
+ .format(filterArg || '');
279
+ }
280
+ default: {
281
+ console.warn('unknown filter %s', filterName);
282
+ }
283
+ }
284
+ }
285
+ return result;
286
+ });
287
+ }
288
+ ;
207
289
  }
208
290
  exports.VasJobModel = VasJobModel;
209
291
  //# sourceMappingURL=vas-job.model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vas-job.model.js","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-job.model.ts"],"names":[],"mappings":"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","sourcesContent":["import { UUID } from 'angular2-uuid';\nimport { VasJobDto } from './vas-job.dto';\nimport { VasBaseModel } from './vas-base.model';\nimport { VasFieldDtoValue } from './vas-field.dto';\nimport { VasFormModel } from './vas-form.model';\n\ntype VasJobModelKeys = keyof typeof VasJobModel;\n\ndeclare type VasJobModelTypeType = {\n [key in VasJobModelKeys]: string;\n}\n\ninterface VasJobModelDynamicInterface extends VasJobModelTypeType {\n [key: string]: VasFieldDtoValue;\n}\n\n/**\n * JobModel\n */\nexport class VasJobModel extends VasBaseModel {\n /**\n * @param {string} id\n * @param {string} created\n * @param {string} serverCreated\n * @param {string} createdBy\n * @param {string} modified\n * @param {string} serverModified\n * @param {string} modifiedBy\n * @param {string} account\n * @param {string} accessGroup\n * @param {string} reference\n * @param {string} jobDate\n * @param {string} jobStatus\n * @param {string} jobType\n * @param {string} assignee\n * @param {string} formId\n */\n constructor(\n public override id: string,\n public override created: string,\n public override serverCreated: string,\n public override createdBy: string,\n public override modified: string,\n public override serverModified: string,\n public override modifiedBy: string,\n public account: string,\n public accessGroup: string,\n public reference: string,\n public jobDate: string,\n public jobStatus: string,\n public jobType: string,\n public assignee: string,\n public formId: string\n ) {\n super(\n id,\n created,\n serverCreated,\n createdBy,\n modified,\n serverModified,\n modifiedBy\n );\n }\n\n /**\n * Returns this with the dynamic interface\n * @return {VasJobModelDynamicInterface}\n */\n get $this(): VasJobModelDynamicInterface {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const $this = this;\n return this as typeof $this & VasJobModelDynamicInterface;\n }\n\n /**\n * Returns a list of Job dynamic properties i.e. those that are added by the\n * dynamic forms\n */\n get dynamicProperties(): Array<string> {\n const nativeProps = this.staticProperties;\n return Object\n .getOwnPropertyNames(this)\n .filter(prop => !nativeProps.includes(prop));\n }\n\n /**\n * Returns a list of Job static properties i.e. those that are declared by\n * the type\n */\n get staticProperties(): Array<string> {\n return Object.getOwnPropertyNames(VasJobModel.empty());\n }\n\n /**\n * @return {VasJobModel}\n */\n public static empty(): VasJobModel {\n return new VasJobModel(\n // eslint-disable-next-line new-cap\n UUID.UUID(),\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n ''\n );\n }\n\n /**\n * @param {VasJobDto} jobDto\n * @return {VasJobModel}\n */\n public static fromDto(jobDto: Partial<VasJobDto>): VasJobModel {\n const model = new VasJobModel(\n // eslint-disable-next-line new-cap\n jobDto.id || UUID.UUID(),\n jobDto.created || '',\n jobDto.serverCreated || '',\n jobDto.createdBy || '',\n jobDto.modified || '',\n jobDto.serverModified || '',\n jobDto.modifiedBy || '',\n jobDto.account || '',\n jobDto.accessGroup || '',\n jobDto.reference || '',\n jobDto.jobDate || '',\n jobDto.jobStatus || '',\n jobDto.jobType || '',\n jobDto.assignee || '',\n jobDto.formId || '',\n );\n const emptyKeys = model.staticProperties;\n Object\n .keys(jobDto)\n .filter(key => emptyKeys.indexOf(key) === -1)\n .forEach((key: string) =>\n model.$this[key] = (jobDto as VasJobModelDynamicInterface)[key]\n );\n return model;\n }\n\n /**\n * @param {VasFormModel} formModel\n * @return {Record<string, VasFieldDtoValue>}\n */\n getFields(formModel: VasFormModel): Record<string, VasFieldDtoValue> {\n const fields: {[key: string]: VasFieldDtoValue} = {};\n formModel.groups\n .forEach(group => {\n group.controls.forEach(control => {\n (fields)[control.reportTemplateName] =\n this.getValueByPath([group.name, control.name]);\n });\n });\n return fields;\n }\n\n /**\n * A very non sophisticated way to get values from the job via paths\n *\n * For example:\n *\n * getValueByPath(['foo', 'bar']);\n *\n * if job is\n * {\n * foo: {\n * bar: 'value'\n * }\n * }\n *\n * will return \"value\"\n *\n * @param {string[]} path path segments\n * @return {void}\n */\n getValueByPath<T extends VasFieldDtoValue>(\n path: string[] = []\n ): T | undefined {\n switch (path.length) {\n case 0: {\n return;\n }\n case 1: {\n return (this.$this)[path[0]] as T;\n }\n case 2: {\n const val0 = this.$this[path[0]] as Record<string, object>;\n return val0[path[1]] as T;\n }\n case 3: {\n const val0 = this.$this[path[0]] as Record<string, object>;\n const val1 = val0[path[1]] as Record<string, object>;\n return val1[path[2]] as T;\n }\n default: {\n throw Error('path has too many segments');\n }\n }\n }\n\n /**\n * A very non sophisticated way to set values in the job via paths\n *\n * For example:\n *\n * setValueByPath('value', ['foo', 'bar']);\n *\n * will make results in job\n * {\n * foo: {\n * bar: 'value'\n * }\n * }\n *\n * @param {any} value the value to set\n * @param {string[]} path path segments\n */\n setValueByPath(value: VasFieldDtoValue, path: string[] = []): void {\n switch (path.length) {\n case 0: {\n return;\n }\n case 1: {\n (this.$this)[path[0]] = value;\n return;\n }\n case 2: {\n // eslint-disable-next-line max-len\n (this.$this[path[0]] as Record<string, VasFieldDtoValue>)[path[1]] = value;\n return;\n }\n case 3: {\n // eslint-disable-next-line max-len\n ((this.$this[path[0]] as Record<string, VasFieldDtoValue>)[path[1]] as Record<string, VasFieldDtoValue>)[path[2]] = value;\n return;\n }\n default: {\n throw Error('path has too many segments');\n }\n }\n }\n\n /**\n * @param {boolean} staticOnly if true, will only output values for the static\n * properties in the dto\n * @return {VasJobDto}\n */\n public toDto(staticOnly = false): VasJobDto {\n const dto = {} as VasJobDto & Record<string, VasFieldDtoValue>;\n this.staticProperties\n .forEach(prop =>\n (dto)[prop] = this.$this[prop]);\n\n if (staticOnly) {\n return dto;\n }\n\n this.dynamicProperties\n .forEach(prop =>\n dto[prop] = this.$this[prop]);\n\n return dto;\n }\n}\n"]}
1
+ {"version":3,"file":"vas-job.model.js","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-job.model.ts"],"names":[],"mappings":"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","sourcesContent":["import { UUID } from 'angular2-uuid';\nimport { VasJobDto } from './vas-job.dto';\nimport { VasBaseModel } from './vas-base.model';\nimport { VasFieldDtoValue } from './vas-field.dto';\nimport { VasFormModel } from './vas-form.model';\nimport moment from 'moment';\n\ntype VasJobModelKeys = keyof typeof VasJobModel;\n\ndeclare type VasJobModelTypeType = {\n [key in VasJobModelKeys]: string;\n}\n\ninterface VasJobModelDynamicInterface extends VasJobModelTypeType {\n [key: string]: VasFieldDtoValue;\n}\n\nexport interface ParseSyntaxOptions {\n /**\n * This value will be used to adjust any datetime values that are referenced\n * in the syntax string. See\n * https://momentjscom.readthedocs.io/en/latest/moment/03-manipulating/09-utc-offset/\n * for more information about how `moment` will handle the value.\n */\n timeZoneOffset: number\n}\n\n/**\n * JobModel\n */\nexport class VasJobModel extends VasBaseModel {\n /**\n * @param {string} id\n * @param {string} created\n * @param {string} serverCreated\n * @param {string} createdBy\n * @param {string} modified\n * @param {string} serverModified\n * @param {string} modifiedBy\n * @param {string} account\n * @param {string} accessGroup\n * @param {string} reference\n * @param {string} jobDate\n * @param {string} jobStatus\n * @param {string} jobType\n * @param {string} assignee\n * @param {string} formId\n * @param {number} timeZoneOffset\n */\n constructor(\n public override id: string,\n public override created: string,\n public override serverCreated: string,\n public override createdBy: string,\n public override modified: string,\n public override serverModified: string,\n public override modifiedBy: string,\n public account: string,\n public accessGroup: string,\n public reference: string,\n public jobDate: string,\n public jobStatus: string,\n public jobType: string,\n public assignee: string,\n public formId: string,\n public timeZoneOffset: number\n ) {\n super(\n id,\n created,\n serverCreated,\n createdBy,\n modified,\n serverModified,\n modifiedBy\n );\n }\n\n /**\n * Returns this with the dynamic interface\n * @return {VasJobModelDynamicInterface}\n */\n get $this(): VasJobModelDynamicInterface {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const $this = this;\n return this as typeof $this & VasJobModelDynamicInterface;\n }\n\n /**\n * Returns a list of Job dynamic properties i.e. those that are added by the\n * dynamic forms\n */\n get dynamicProperties(): Array<string> {\n const nativeProps = this.staticProperties;\n return Object\n .getOwnPropertyNames(this)\n .filter(prop => !nativeProps.includes(prop));\n }\n\n /**\n * Returns a list of Job static properties i.e. those that are declared by\n * the type\n */\n get staticProperties(): Array<string> {\n return Object.getOwnPropertyNames(VasJobModel.empty());\n }\n\n /**\n * @return {VasJobModel}\n */\n public static empty(): VasJobModel {\n return new VasJobModel(\n // eslint-disable-next-line new-cap\n UUID.UUID(),\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n 0\n );\n }\n\n /**\n * @param {VasJobDto} jobDto\n * @return {VasJobModel}\n */\n public static fromDto(jobDto: Partial<VasJobDto>): VasJobModel {\n const model = new VasJobModel(\n // eslint-disable-next-line new-cap\n jobDto.id || UUID.UUID(),\n jobDto.created || '',\n jobDto.serverCreated || '',\n jobDto.createdBy || '',\n jobDto.modified || '',\n jobDto.serverModified || '',\n jobDto.modifiedBy || '',\n jobDto.account || '',\n jobDto.accessGroup || '',\n jobDto.reference || '',\n jobDto.jobDate || '',\n jobDto.jobStatus || '',\n jobDto.jobType || '',\n jobDto.assignee || '',\n jobDto.formId || '',\n jobDto.timeZoneOffset || 0\n );\n const emptyKeys = model.staticProperties;\n Object\n .keys(jobDto)\n .filter(key => emptyKeys.indexOf(key) === -1)\n .forEach((key: string) =>\n model.$this[key] = (jobDto as VasJobModelDynamicInterface)[key]\n );\n return model;\n }\n\n /**\n * @param {VasFormModel} formModel\n * @return {Record<string, VasFieldDtoValue>}\n */\n getFields(formModel: VasFormModel): Record<string, VasFieldDtoValue> {\n const fields: {[key: string]: VasFieldDtoValue} = {};\n formModel.groups\n .forEach(group => {\n group.controls.forEach(control => {\n (fields)[control.reportTemplateName] =\n this.getValueByPath([group.name, control.name]);\n });\n });\n return fields;\n }\n\n /**\n * A very non sophisticated way to get values from the job via paths\n *\n * For example:\n *\n * getValueByPath(['foo', 'bar']);\n *\n * if job is\n * {\n * foo: {\n * bar: 'value'\n * }\n * }\n *\n * will return \"value\"\n *\n * @param {string[]} path path segments\n * @return {void}\n */\n getValueByPath<T extends VasFieldDtoValue>(\n path: string[] = []\n ): T | undefined {\n switch (path.length) {\n case 0: {\n return;\n }\n case 1: {\n return (this.$this)[path[0]] as T;\n }\n case 2: {\n const val0 = this.$this[path[0]] as Record<string, object>;\n if (!val0) {\n return undefined;\n }\n return val0[path[1]] as T;\n }\n case 3: {\n const val0 = this.$this[path[0]] as Record<string, object>;\n if (!val0) {\n return undefined;\n }\n const val1 = val0[path[1]] as Record<string, object>;\n if (!val1) {\n return undefined;\n }\n return val1[path[2]] as T;\n }\n default: {\n throw Error('path has too many segments');\n }\n }\n }\n\n /**\n * A very non sophisticated way to set values in the job via paths\n *\n * For example:\n *\n * setValueByPath('value', ['foo', 'bar']);\n *\n * will make results in job\n * {\n * foo: {\n * bar: 'value'\n * }\n * }\n *\n * @param {any} value the value to set\n * @param {string[]} path path segments\n */\n setValueByPath(value: VasFieldDtoValue, path: string[] = []): void {\n switch (path.length) {\n case 0: {\n return;\n }\n case 1: {\n (this.$this)[path[0]] = value;\n return;\n }\n case 2: {\n // eslint-disable-next-line max-len\n (this.$this[path[0]] as Record<string, VasFieldDtoValue>)[path[1]] = value;\n return;\n }\n case 3: {\n // eslint-disable-next-line max-len\n ((this.$this[path[0]] as Record<string, VasFieldDtoValue>)[path[1]] as Record<string, VasFieldDtoValue>)[path[2]] = value;\n return;\n }\n default: {\n throw Error('path has too many segments');\n }\n }\n }\n\n /**\n * @param {boolean} staticOnly if true, will only output values for the static\n * properties in the dto\n * @return {VasJobDto}\n */\n public toDto(staticOnly = false): VasJobDto {\n const dto = {} as VasJobDto & Record<string, VasFieldDtoValue>;\n this.staticProperties\n .forEach(prop =>\n (dto)[prop] = this.$this[prop]);\n\n if (staticOnly) {\n return dto;\n }\n\n this.dynamicProperties\n .forEach(prop =>\n dto[prop] = this.$this[prop]);\n\n return dto;\n }\n\n /**\n * This method will parse a syntax that allows us to build strings from the\n * values of from the job model. For example if the job model was:\n *\n * {\n * foo: 'bar'\n * }\n *\n * and we pass \"i am foo {foo}\", the result would be:\n *\n * \"i am foo bar\"\n *\n * we can also use moment to parse dates, for example if the job model was:\n *\n * {\n * created: \"2022-01-01T00:00:00+0000\"\n * }\n *\n * and we pass \"{created|date:YY-MM-DD}\", the result would be:\n *\n * \"2022-01-01\"\n *\n * @param {string} value a string with the syntax\n * @param {ParseSyntaxOptions} options\n * @return {string} the results of parsing the syntax on this job\n */\n parseSyntax(\n value: string,\n options: ParseSyntaxOptions = {\n timeZoneOffset: 0\n }\n ): string {\n\n if (!value || typeof value !== 'string') {\n return '';\n }\n return value.replace(/({[^}]*})/g, (match: string, token: string) => {\n const syntax = token.substring(1, token.length - 1);\n\n let [key, filter] = syntax.split('|');\n key = (key || '').trim();\n filter = (filter || '').trim()\n\n let filterName, filterArg: string = '';\n if (filter) {\n const splitIndex = filter.indexOf(':');\n if (splitIndex !== -1) {\n filterName = filter.substring(0, splitIndex);\n filterArg = filter.substring(splitIndex + 1);\n } else {\n filterName = filter;\n filterArg = '';\n }\n filterName = (filterName || '').trim();\n filterArg = (filterArg || '').trim();\n }\n const path = key.split('.');\n let result = (this.getValueByPath(path) || '').toString();\n\n if (filterName && result) {\n switch (filterName) {\n case 'date': {\n return moment(result)\n .utcOffset(options.timeZoneOffset)\n .format(filterArg || '');\n }\n default: {\n console.warn('unknown filter %s', filterName);\n }\n }\n }\n\n return result;\n });\n };\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export * from './vas-time-range.model';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./vas-time-range.model"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/model/index.ts"],"names":[],"mappings":";;;AAAA,iEAAuC","sourcesContent":["export * from './vas-time-range.model';\n"]}
@@ -0,0 +1,5 @@
1
+ export interface VasTimeRangeModel {
2
+ from: string;
3
+ to: string;
4
+ }
5
+ //# sourceMappingURL=vas-time-range.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vas-time-range.model.d.ts","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/model/vas-time-range.model.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=vas-time-range.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vas-time-range.model.js","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/model/vas-time-range.model.ts"],"names":[],"mappings":"","sourcesContent":["\nexport interface VasTimeRangeModel {\n from: string;\n to: string;\n}\n"]}
package/cjs/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vas-lib-projects",
3
- "version": "0.0.3",
3
+ "version": "0.0.6",
4
4
  "scripts": {
5
5
  "ng": "ng",
6
6
  "start": "ng serve",
@@ -12,7 +12,12 @@
12
12
  "watch": "ng build --watch",
13
13
  "test": "ng test",
14
14
  "prepublish": "npm run build",
15
- "publish": "pushd ./dist/vas-lib; npm publish; popd; cd ./dist/vas-lib-ng; npm publish"
15
+ "publish:vas-lib": "pushd ./dist/vas-lib; npm publish; popd;",
16
+ "publish:vas-lib-ng": "pushd ./dist/vas-lib-ng; npm publish; popd;",
17
+ "publish": "npm run publish:vas-lib && npm run publish:vas-lib-ng",
18
+ "link:vas-lib": "cd dist/vas-lib; npm link",
19
+ "link:vas-lib-ng": "cd dist/vas-lib-ng; npm link @ironcode/vas-lib; npm link",
20
+ "link": "npm run link:vas-lib; npm run link:vas-lib-ng"
16
21
  },
17
22
  "dependencies": {
18
23
  "@angular/animations": "~13.2.0",
@@ -1,4 +1,5 @@
1
1
  export * from './lib/control-value/index';
2
2
  export * from './lib/controls-config/index';
3
3
  export * from './lib/entity/index';
4
+ export * from './lib/model/index';
4
5
  //# sourceMappingURL=public-api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../../projects/vas-lib/src/public-api.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../../projects/vas-lib/src/public-api.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC"}
package/cjs/public-api.js CHANGED
@@ -4,4 +4,5 @@ const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./lib/control-value/index"), exports);
5
5
  tslib_1.__exportStar(require("./lib/controls-config/index"), exports);
6
6
  tslib_1.__exportStar(require("./lib/entity/index"), exports);
7
+ tslib_1.__exportStar(require("./lib/model/index"), exports);
7
8
  //# sourceMappingURL=public-api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"public-api.js","sourceRoot":"","sources":["../../../projects/vas-lib/src/public-api.ts"],"names":[],"mappings":";;;AAAA,oEAA0C;AAC1C,sEAA4C;AAC5C,6DAAmC","sourcesContent":["export * from './lib/control-value/index';\nexport * from './lib/controls-config/index';\nexport * from './lib/entity/index';\n"]}
1
+ {"version":3,"file":"public-api.js","sourceRoot":"","sources":["../../../projects/vas-lib/src/public-api.ts"],"names":[],"mappings":";;;AAAA,oEAA0C;AAC1C,sEAA4C;AAC5C,6DAAmC;AACnC,4DAAkC","sourcesContent":["export * from './lib/control-value/index';\nexport * from './lib/controls-config/index';\nexport * from './lib/entity/index';\nexport * from './lib/model/index';\n"]}
@@ -3,6 +3,7 @@ export * from './vas-account.dto';
3
3
  export * from './vas-account-object.dto';
4
4
  export * from './vas-base.dto';
5
5
  export * from './vas-base.model';
6
+ export * from './vas-branch.dto';
6
7
  export * from './vas-contact.dto';
7
8
  export * from './vas-contact-type.dto';
8
9
  export * from './vas-control.dto';
@@ -30,4 +31,4 @@ export * from './vas-restricted-account-object.dto';
30
31
  export * from './vas-task-type.dto';
31
32
  export * from './vas-user.dto';
32
33
  export * from './vas-user.model';
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YXMtbGliL3NyYy9saWIvZW50aXR5L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Zhcy1hY2Nlc3MtZ3JvdXAuZHRvJztcbmV4cG9ydCAqIGZyb20gJy4vdmFzLWFjY291bnQuZHRvJztcbmV4cG9ydCAqIGZyb20gJy4vdmFzLWFjY291bnQtb2JqZWN0LmR0byc7XG5leHBvcnQgKiBmcm9tICcuL3Zhcy1iYXNlLmR0byc7XG5leHBvcnQgKiBmcm9tICcuL3Zhcy1iYXNlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vdmFzLWNvbnRhY3QuZHRvJztcbmV4cG9ydCAqIGZyb20gJy4vdmFzLWNvbnRhY3QtdHlwZS5kdG8nO1xuZXhwb3J0ICogZnJvbSAnLi92YXMtY29udHJvbC5kdG8nO1xuZXhwb3J0ICogZnJvbSAnLi92YXMtY29udHJvbC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3Zhcy1jb250cm9sLXR5cGUuZHRvJztcbmV4cG9ydCAqIGZyb20gJy4vdmFzLWNvbnRyb2wtdHlwZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3Zhcy1maWVsZC5kdG8nO1xuZXhwb3J0ICogZnJvbSAnLi92YXMtZmlsZS5kdG8nO1xuZXhwb3J0ICogZnJvbSAnLi92YXMtZm9ybS5kdG8nO1xuZXhwb3J0ICogZnJvbSAnLi92YXMtZm9ybS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3Zhcy1ncm91cC5kdG8nO1xuZXhwb3J0ICogZnJvbSAnLi92YXMtZ3JvdXAubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi92YXMtam9iLWRhdGEuZHRvJztcbmV4cG9ydCAqIGZyb20gJy4vdmFzLWpvYi5kdG8nO1xuZXhwb3J0ICogZnJvbSAnLi92YXMtam9iLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vdmFzLWpvYi1zdGF0dXMuZHRvJztcbmV4cG9ydCAqIGZyb20gJy4vdmFzLWpvYi10eXBlLmR0byc7XG5leHBvcnQgKiBmcm9tICcuL3Zhcy1sb29rdXAuZHRvJztcbmV4cG9ydCAqIGZyb20gJy4vdmFzLWxvb2t1cC10eXBlLmR0byc7XG5leHBvcnQgKiBmcm9tICcuL3Zhcy1tZW1iZXJzaGlwLmR0byc7XG5leHBvcnQgKiBmcm9tICcuL3Zhcy1yZXBvcnQtbGF5b3V0LmR0byc7XG5leHBvcnQgKiBmcm9tICcuL3Zhcy1yZXBvcnQtcmVxdWVzdC5kdG8nO1xuZXhwb3J0ICogZnJvbSAnLi92YXMtcmVwb3J0LXJlcXVlc3QubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi92YXMtcmVzdHJpY3RlZC1hY2NvdW50LW9iamVjdC5kdG8nO1xuZXhwb3J0ICogZnJvbSAnLi92YXMtdGFzay10eXBlLmR0byc7XG5leHBvcnQgKiBmcm9tICcuL3Zhcy11c2VyLmR0byc7XG5leHBvcnQgKiBmcm9tICcuL3Zhcy11c2VyLm1vZGVsJztcbiJdfQ==
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YXMtbGliL3NyYy9saWIvZW50aXR5L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdmFzLWFjY2Vzcy1ncm91cC5kdG8nO1xuZXhwb3J0ICogZnJvbSAnLi92YXMtYWNjb3VudC5kdG8nO1xuZXhwb3J0ICogZnJvbSAnLi92YXMtYWNjb3VudC1vYmplY3QuZHRvJztcbmV4cG9ydCAqIGZyb20gJy4vdmFzLWJhc2UuZHRvJztcbmV4cG9ydCAqIGZyb20gJy4vdmFzLWJhc2UubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi92YXMtYnJhbmNoLmR0byc7XG5leHBvcnQgKiBmcm9tICcuL3Zhcy1jb250YWN0LmR0byc7XG5leHBvcnQgKiBmcm9tICcuL3Zhcy1jb250YWN0LXR5cGUuZHRvJztcbmV4cG9ydCAqIGZyb20gJy4vdmFzLWNvbnRyb2wuZHRvJztcbmV4cG9ydCAqIGZyb20gJy4vdmFzLWNvbnRyb2wubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi92YXMtY29udHJvbC10eXBlLmR0byc7XG5leHBvcnQgKiBmcm9tICcuL3Zhcy1jb250cm9sLXR5cGUubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi92YXMtZmllbGQuZHRvJztcbmV4cG9ydCAqIGZyb20gJy4vdmFzLWZpbGUuZHRvJztcbmV4cG9ydCAqIGZyb20gJy4vdmFzLWZvcm0uZHRvJztcbmV4cG9ydCAqIGZyb20gJy4vdmFzLWZvcm0ubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi92YXMtZ3JvdXAuZHRvJztcbmV4cG9ydCAqIGZyb20gJy4vdmFzLWdyb3VwLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vdmFzLWpvYi1kYXRhLmR0byc7XG5leHBvcnQgKiBmcm9tICcuL3Zhcy1qb2IuZHRvJztcbmV4cG9ydCAqIGZyb20gJy4vdmFzLWpvYi5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3Zhcy1qb2Itc3RhdHVzLmR0byc7XG5leHBvcnQgKiBmcm9tICcuL3Zhcy1qb2ItdHlwZS5kdG8nO1xuZXhwb3J0ICogZnJvbSAnLi92YXMtbG9va3VwLmR0byc7XG5leHBvcnQgKiBmcm9tICcuL3Zhcy1sb29rdXAtdHlwZS5kdG8nO1xuZXhwb3J0ICogZnJvbSAnLi92YXMtbWVtYmVyc2hpcC5kdG8nO1xuZXhwb3J0ICogZnJvbSAnLi92YXMtcmVwb3J0LWxheW91dC5kdG8nO1xuZXhwb3J0ICogZnJvbSAnLi92YXMtcmVwb3J0LXJlcXVlc3QuZHRvJztcbmV4cG9ydCAqIGZyb20gJy4vdmFzLXJlcG9ydC1yZXF1ZXN0Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vdmFzLXJlc3RyaWN0ZWQtYWNjb3VudC1vYmplY3QuZHRvJztcbmV4cG9ydCAqIGZyb20gJy4vdmFzLXRhc2stdHlwZS5kdG8nO1xuZXhwb3J0ICogZnJvbSAnLi92YXMtdXNlci5kdG8nO1xuZXhwb3J0ICogZnJvbSAnLi92YXMtdXNlci5tb2RlbCc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFzLWJyYW5jaC5kdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YXMtbGliL3NyYy9saWIvZW50aXR5L3Zhcy1icmFuY2guZHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYXNBY2NvdW50T2JqZWN0RHRvIH0gZnJvbSAnLi92YXMtYWNjb3VudC1vYmplY3QuZHRvJztcbmltcG9ydCB7IFZhc1RpbWVSYW5nZU1vZGVsIH0gZnJvbSAnLi4vbW9kZWwvdmFzLXRpbWUtcmFuZ2UubW9kZWwnO1xuaW1wb3J0IHsgVmFzQ29udGFjdER0byB9IGZyb20gJy4vdmFzLWNvbnRhY3QuZHRvJztcblxuZXhwb3J0IGludGVyZmFjZSBWYXNCcmFuY2hEdG8gZXh0ZW5kcyBWYXNBY2NvdW50T2JqZWN0RHRvIHtcbiAgc3RvcmVDb2RlOiBzdHJpbmc7XG4gIGFkZHJlc3M6IHN0cmluZztcbiAgY2l0eTogc3RyaW5nO1xuICBwb3N0Y29kZTogc3RyaW5nO1xuICBlbWFpbDogc3RyaW5nO1xuICBsb2NhdGlvbk1hbmFnZXI6IFZhc0NvbnRhY3REdG8gfCB1bmRlZmluZWQ7XG4gIGFyZWFNYW5hZ2VyOiBWYXNDb250YWN0RHRvIHwgdW5kZWZpbmVkO1xuICByZWdpb25hbERpcmVjdG9yOiBWYXNDb250YWN0RHRvIHwgdW5kZWZpbmVkO1xuICBzYWxlc01hbmFnZXI6IFZhc0NvbnRhY3REdG8gfCB1bmRlZmluZWRcbiAgY2x1c3Rlcjogc3RyaW5nO1xuICBzdG9yZVR5cGU6IHN0cmluZztcbiAgaG91cldlZWtkYXlzOiBBcnJheTxWYXNUaW1lUmFuZ2VNb2RlbD47XG4gIGhvdXJTYXR1cmRheTogQXJyYXk8VmFzVGltZVJhbmdlTW9kZWw+O1xuICBob3VyU3VuZGF5OiBBcnJheTxWYXNUaW1lUmFuZ2VNb2RlbD47XG4gIGV4Y2VwdGlvbnM6IHN0cmluZztcbiAgYWN0aXZlOiBib29sZWFuXG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFzLWNvbnRhY3QuZHRvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFzLWxpYi9zcmMvbGliL2VudGl0eS92YXMtY29udGFjdC5kdG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhc0FjY291bnRPYmplY3REdG8gfSBmcm9tICcuL3Zhcy1hY2NvdW50LW9iamVjdC5kdG8nO1xuXG5leHBvcnQgaW50ZXJmYWNlIFZhc0NvbnRhY3REdG8gZXh0ZW5kcyBWYXNBY2NvdW50T2JqZWN0RHRvIHtcbiAgYWNjb3VudDogc3RyaW5nO1xuICBhY2Nlc3NHcm91cDogc3RyaW5nO1xuICBjb250YWN0VHlwZTogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIG1vYmlsZTogc3RyaW5nO1xuICBwaG9uZTogc3RyaW5nO1xuICBhZGRyZXNzOiBzdHJpbmc7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFzLWNvbnRhY3QuZHRvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFzLWxpYi9zcmMvbGliL2VudGl0eS92YXMtY29udGFjdC5kdG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhc0FjY291bnRPYmplY3REdG8gfSBmcm9tICcuL3Zhcy1hY2NvdW50LW9iamVjdC5kdG8nO1xuXG5leHBvcnQgaW50ZXJmYWNlIFZhc0NvbnRhY3REdG8gZXh0ZW5kcyBWYXNBY2NvdW50T2JqZWN0RHRvIHtcbiAgYWNjZXNzR3JvdXA6IHN0cmluZztcbiAgY29udGFjdFR5cGU6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBlbWFpbDogc3RyaW5nO1xuICBtb2JpbGU6IHN0cmluZztcbiAgcGhvbmU6IHN0cmluZztcbiAgYWRkcmVzczogc3RyaW5nO1xufVxuIl19
@@ -62,6 +62,15 @@ export class VasControlModel extends VasBaseModel {
62
62
  * object if the value is a json string
63
63
  */
64
64
  get defaultValueDecoded() {
65
+ if (this.defaultValue === '' && this.controlTypeModel) {
66
+ switch (this.controlTypeModel.name) {
67
+ case 'branch':
68
+ case 'camera':
69
+ case 'contact': {
70
+ return {};
71
+ }
72
+ }
73
+ }
65
74
  return this.parseMaybeJson(this.defaultValue);
66
75
  }
67
76
  /**
@@ -138,4 +147,4 @@ export class VasControlModel extends VasBaseModel {
138
147
  };
139
148
  }
140
149
  }
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFzLWNvbnRyb2wubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YXMtbGliL3NyYy9saWIvZW50aXR5L3Zhcy1jb250cm9sLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUdoRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSXJDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWdCLFNBQVEsWUFBWTtJQUcvQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FvQkc7SUFDSCxZQUNrQixFQUFVLEVBQ1YsT0FBZSxFQUNmLGFBQXFCLEVBQ3JCLFNBQWlCLEVBQ2pCLFFBQWdCLEVBQ2hCLGNBQXNCLEVBQ3RCLFVBQWtCLEVBQzNCLE9BQWUsRUFDZixXQUFtQixFQUNuQixXQUFtQixFQUNuQixLQUFhLEVBQ2IsVUFBb0IsRUFDcEIsSUFBWSxFQUNaLEtBQWEsRUFDYixRQUFpQixFQUNqQixRQUFnQixFQUNoQixXQUFtQixFQUNuQixZQUFvQixFQUNwQixNQUFjO1FBRXJCLEtBQUssQ0FDSCxFQUFFLEVBQ0YsT0FBTyxFQUNQLGFBQWEsRUFDYixTQUFTLEVBQ1QsUUFBUSxFQUNSLGNBQWMsRUFDZCxVQUFVLENBQ1gsQ0FBQztRQTVCYyxPQUFFLEdBQUYsRUFBRSxDQUFRO1FBQ1YsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLGtCQUFhLEdBQWIsYUFBYSxDQUFRO1FBQ3JCLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDakIsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUNoQixtQkFBYyxHQUFkLGNBQWMsQ0FBUTtRQUN0QixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQzNCLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUNuQixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUNuQixV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QUNqQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztZQUNuQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtTQUNwQixDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFzQmFzZU1vZGVsIH0gZnJvbSAnLi92YXMtYmFzZS5tb2RlbCc7XG5pbXBvcnQgeyBWYXNDb250cm9sVHlwZU1vZGVsIH0gZnJvbSAnLi92YXMtY29udHJvbC10eXBlLm1vZGVsJztcbmltcG9ydCB7IFZhc0NvbnRyb2xEdG8gfSBmcm9tICcuL3Zhcy1jb250cm9sLmR0byc7XG5pbXBvcnQgeyBVVUlEIH0gZnJvbSAnYW5ndWxhcjItdXVpZCc7XG5cbmV4cG9ydCBkZWNsYXJlIHR5cGUgVmFzQ29udHJvbE1vZGVsRGVmYXVsdFZhbHVlVHlwZSA9IHN0cmluZyB8IG51bWJlciB8IG9iamVjdDtcblxuLyoqXG4gKiBDb250cm9sTW9kZWxcbiAqL1xuZXhwb3J0IGNsYXNzIFZhc0NvbnRyb2xNb2RlbCBleHRlbmRzIFZhc0Jhc2VNb2RlbCBpbXBsZW1lbnRzIFZhc0NvbnRyb2xEdG8ge1xuICBwdWJsaWMgY29udHJvbFR5cGVNb2RlbDogVmFzQ29udHJvbFR5cGVNb2RlbCB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IGlkXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjcmVhdGVkXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzZXJ2ZXJDcmVhdGVkXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjcmVhdGVkQnlcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1vZGlmaWVkXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzZXJ2ZXJNb2RpZmllZFxuICAgKiBAcGFyYW0ge3N0cmluZ30gbW9kaWZpZWRCeVxuICAgKiBAcGFyYW0ge3N0cmluZ30gYWNjb3VudFxuICAgKiBAcGFyYW0ge3N0cmluZ30gYWNjZXNzR3JvdXBcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNvbnRyb2xUeXBlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBncm91cFxuICAgKiBAcGFyYW0ge3N0cmluZ1tdfSB2YWxpZGF0b3JzXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0aXRsZVxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGxpbmthYmxlXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBzZXF1ZW5jZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gZGVzY3JpcHRpb25cbiAgICogQHBhcmFtIHtzdHJpbmd9IGRlZmF1bHRWYWx1ZVxuICAgKiBAcGFyYW0ge29iamVjdH0gY29uZmlnXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgb3ZlcnJpZGUgaWQ6IHN0cmluZyxcbiAgICBwdWJsaWMgb3ZlcnJpZGUgY3JlYXRlZDogc3RyaW5nLFxuICAgIHB1YmxpYyBvdmVycmlkZSBzZXJ2ZXJDcmVhdGVkOiBzdHJpbmcsXG4gICAgcHVibGljIG92ZXJyaWRlIGNyZWF0ZWRCeTogc3RyaW5nLFxuICAgIHB1YmxpYyBvdmVycmlkZSBtb2RpZmllZDogc3RyaW5nLFxuICAgIHB1YmxpYyBvdmVycmlkZSBzZXJ2ZXJNb2RpZmllZDogc3RyaW5nLFxuICAgIHB1YmxpYyBvdmVycmlkZSBtb2RpZmllZEJ5OiBzdHJpbmcsXG4gICAgcHVibGljIGFjY291bnQ6IHN0cmluZyxcbiAgICBwdWJsaWMgYWNjZXNzR3JvdXA6IHN0cmluZyxcbiAgICBwdWJsaWMgY29udHJvbFR5cGU6IHN0cmluZyxcbiAgICBwdWJsaWMgZ3JvdXA6IHN0cmluZyxcbiAgICBwdWJsaWMgdmFsaWRhdG9yczogc3RyaW5nW10sXG4gICAgcHVibGljIG5hbWU6IHN0cmluZyxcbiAgICBwdWJsaWMgdGl0bGU6IHN0cmluZyxcbiAgICBwdWJsaWMgbGlua2FibGU6IGJvb2xlYW4sXG4gICAgcHVibGljIHNlcXVlbmNlOiBudW1iZXIsXG4gICAgcHVibGljIGRlc2NyaXB0aW9uOiBzdHJpbmcsXG4gICAgcHVibGljIGRlZmF1bHRWYWx1ZTogc3RyaW5nLFxuICAgIHB1YmxpYyBjb25maWc6IHN0cmluZ1xuICApIHtcbiAgICBzdXBlcihcbiAgICAgIGlkLFxuICAgICAgY3JlYXRlZCxcbiAgICAgIHNlcnZlckNyZWF0ZWQsXG4gICAgICBjcmVhdGVkQnksXG4gICAgICBtb2RpZmllZCxcbiAgICAgIHNlcnZlck1vZGlmaWVkLFxuICAgICAgbW9kaWZpZWRCeVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGNvbmZpZyBwcm9wZXJ0eSBpcyByZXR1cm5lZCBmcm9tIHRoZSBhcGkgYXMgYSBqc29uIHN0cmluZywgdGhpcyBnZXR0ZXJcbiAgICogd2lsbCBkZXNlcmlhbGl6ZSBpdFxuICAgKiBAcmV0dXJuIHtUfVxuICAgKi9cbiAgZ2V0Q29uZmlnTW9kZWw8VD4oKTogVCB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UodGhpcy5jb25maWcpIGFzIFQ7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGRlZmF1bHRWYWx1ZSBwcm9wZXJ0eSBpcyByZXR1cm5lZCBmcm9tIHRoZSBhcGkgYXMgYSBzdHJpbmcgb3IgbnVtYmVyLFxuICAgKiBpbiB0aGUgY2FzZSBvZiBzdHJpbmcsIGl0IG1heWJlIGEganNvbi4gVGhpcyBnZXR0ZXIgd2lsbCByZXR1cm4gYW5cbiAgICogb2JqZWN0IGlmIHRoZSB2YWx1ZSBpcyBhIGpzb24gc3RyaW5nXG4gICAqL1xuICBnZXQgZGVmYXVsdFZhbHVlRGVjb2RlZCgpOiBWYXNDb250cm9sTW9kZWxEZWZhdWx0VmFsdWVUeXBlIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZU1heWJlSnNvbih0aGlzLmRlZmF1bHRWYWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgbmFtZSBvZiB0aGlzIGNvbnRyb2wgdG8gYmUgdXNlZCBpbiB0aGUgcmVwb3J0IHRlbXBsYXRlc1xuICAgKiBpLmUuIGZpZWxkLmZvbyAtPiBmb29cbiAgICogQHJldHVybiB7c3RyaW5nfVxuICAgKi9cbiAgZ2V0IHJlcG9ydFRlbXBsYXRlTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm5hbWUucmVwbGFjZSgvXmZpZWxkc1xcLi8sICcnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJuIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgc2FmZU5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm4ge1Zhc0NvbnRyb2xNb2RlbH1cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZW1wdHkoKTogVmFzQ29udHJvbE1vZGVsIHtcbiAgICByZXR1cm4gVmFzQ29udHJvbE1vZGVsLmZyb21EdG8oe1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5ldy1jYXBcbiAgICAgIGlkOiBVVUlELlVVSUQoKVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7VmFzQ29udHJvbER0b30gZHRvXG4gICAqIEByZXR1cm4ge1Zhc0NvbnRyb2xNb2RlbH1cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUR0byhcbiAgICBkdG86IFBhcnRpYWw8VmFzQ29udHJvbER0bz5cbiAgKTogVmFzQ29udHJvbE1vZGVsIHtcbiAgICByZXR1cm4gbmV3IFZhc0NvbnRyb2xNb2RlbChcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuZXctY2FwXG4gICAgICBkdG8uaWQgfHwgVVVJRC5VVUlEKCksXG4gICAgICBkdG8uY3JlYXRlZCB8fCAnJyxcbiAgICAgIGR0by5zZXJ2ZXJDcmVhdGVkIHx8ICcnLFxuICAgICAgZHRvLmNyZWF0ZWRCeSB8fCAnJyxcbiAgICAgIGR0by5tb2RpZmllZCB8fCAnJyxcbiAgICAgIGR0by5zZXJ2ZXJNb2RpZmllZCB8fCAnJyxcbiAgICAgIGR0by5tb2RpZmllZEJ5IHx8ICcnLFxuICAgICAgZHRvLmFjY291bnQgfHwgJycsXG4gICAgICBkdG8uYWNjZXNzR3JvdXAgfHwgJycsXG4gICAgICBkdG8uY29udHJvbFR5cGUgfHwgJycsXG4gICAgICBkdG8uZ3JvdXAgfHwgJycsXG4gICAgICBkdG8udmFsaWRhdG9ycyB8fCBbXSxcbiAgICAgIGR0by5uYW1lIHx8ICcnLFxuICAgICAgZHRvLnRpdGxlIHx8ICcnLFxuICAgICAgZHRvLmxpbmthYmxlIHx8IGZhbHNlLFxuICAgICAgZHRvLnNlcXVlbmNlIHx8IDAsXG4gICAgICBkdG8uZGVzY3JpcHRpb24gfHwgJycsXG4gICAgICBkdG8uZGVmYXVsdFZhbHVlIHx8ICcnLFxuICAgICAgZHRvLmNvbmZpZyB8fCAne30nLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gICAqIEByZXR1cm4ge1Zhc0NvbnRyb2xNb2RlbERlZmF1bHRWYWx1ZVR5cGV9XG4gICAqL1xuICBwcm90ZWN0ZWQgcGFyc2VNYXliZUpzb24oXG4gICAgdmFsdWU6IHN0cmluZyB8IG51bWJlciB8IG9iamVjdFxuICApOiBWYXNDb250cm9sTW9kZWxEZWZhdWx0VmFsdWVUeXBlIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICByZXR1cm4gSlNPTi5wYXJzZSh2YWx1ZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJuIHtWYXNDb250cm9sRHRvfVxuICAgKi9cbiAgdG9EdG8oKTogVmFzQ29udHJvbER0byB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgY3JlYXRlZDogdGhpcy5jcmVhdGVkLFxuICAgICAgc2VydmVyQ3JlYXRlZDogdGhpcy5zZXJ2ZXJDcmVhdGVkLFxuICAgICAgY3JlYXRlZEJ5OiB0aGlzLmNyZWF0ZWRCeSxcbiAgICAgIG1vZGlmaWVkOiB0aGlzLm1vZGlmaWVkLFxuICAgICAgc2VydmVyTW9kaWZpZWQ6IHRoaXMuc2VydmVyTW9kaWZpZWQsXG4gICAgICBtb2RpZmllZEJ5OiB0aGlzLm1vZGlmaWVkQnksXG4gICAgICBhY2NvdW50OiB0aGlzLmFjY291bnQsXG4gICAgICBhY2Nlc3NHcm91cDogdGhpcy5hY2Nlc3NHcm91cCxcbiAgICAgIGNvbnRyb2xUeXBlOiB0aGlzLmNvbnRyb2xUeXBlLFxuICAgICAgZ3JvdXA6IHRoaXMuZ3JvdXAsXG4gICAgICB2YWxpZGF0b3JzOiB0aGlzLnZhbGlkYXRvcnMsXG4gICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICB0aXRsZTogdGhpcy50aXRsZSxcbiAgICAgIGxpbmthYmxlOiB0aGlzLmxpbmthYmxlLFxuICAgICAgc2VxdWVuY2U6IHRoaXMuc2VxdWVuY2UsXG4gICAgICBkZXNjcmlwdGlvbjogdGhpcy5kZXNjcmlwdGlvbixcbiAgICAgIGRlZmF1bHRWYWx1ZTogdGhpcy5kZWZhdWx0VmFsdWUsXG4gICAgICBjb25maWc6IHRoaXMuY29uZmlnXG4gICAgfTtcbiAgfVxufVxuXG4iXX0=
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFzLWNvbnRyb2wubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YXMtbGliL3NyYy9saWIvZW50aXR5L3Zhcy1jb250cm9sLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUdoRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSXJDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGVBQWdCLFNBQVEsWUFBWTtJQUcvQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FvQkc7SUFDSCxZQUNrQixFQUFVLEVBQ1YsT0FBZSxFQUNmLGFBQXFCLEVBQ3JCLFNBQWlCLEVBQ2pCLFFBQWdCLEVBQ2hCLGNBQXNCLEVBQ3RCLFVBQWtCLEVBQzNCLE9BQWUsRUFDZixXQUFtQixFQUNuQixXQUFtQixFQUNuQixLQUFhLEVBQ2IsVUFBb0IsRUFDcEIsSUFBWSxFQUNaLEtBQWEsRUFDYixRQUFpQixFQUNqQixRQUFnQixFQUNoQixXQUFtQixFQUNuQixZQUFvQixFQUNwQixNQUFjO1FBRXJCLEtBQUssQ0FDSCxFQUFFLEVBQ0YsT0FBTyxFQUNQLGFBQWEsRUFDYixTQUFTLEVBQ1QsUUFBUSxFQUNSLGNBQWMsRUFDZCxVQUFVLENBQ1gsQ0FBQztRQTVCYyxPQUFFLEdBQUYsRUFBRSxDQUFRO1FBQ1YsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLGtCQUFhLEdBQWIsYUFBYSxDQUFRO1FBQ3JCLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDakIsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUNoQixtQkFBYyxHQUFkLGNBQWMsQ0FBUTtRQUN0QixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQzNCLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUNuQixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUNuQixV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QyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDMUI7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLO1FBQ0gsT0FBTztZQUNMLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNYLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDakMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDbkMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNqQixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMvQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhc0Jhc2VNb2RlbCB9IGZyb20gJy4vdmFzLWJhc2UubW9kZWwnO1xuaW1wb3J0IHsgVmFzQ29udHJvbFR5cGVNb2RlbCB9IGZyb20gJy4vdmFzLWNvbnRyb2wtdHlwZS5tb2RlbCc7XG5pbXBvcnQgeyBWYXNDb250cm9sRHRvIH0gZnJvbSAnLi92YXMtY29udHJvbC5kdG8nO1xuaW1wb3J0IHsgVVVJRCB9IGZyb20gJ2FuZ3VsYXIyLXV1aWQnO1xuXG5leHBvcnQgZGVjbGFyZSB0eXBlIFZhc0NvbnRyb2xNb2RlbERlZmF1bHRWYWx1ZVR5cGUgPSBzdHJpbmcgfCBudW1iZXIgfCBvYmplY3Q7XG5cbi8qKlxuICogQ29udHJvbE1vZGVsXG4gKi9cbmV4cG9ydCBjbGFzcyBWYXNDb250cm9sTW9kZWwgZXh0ZW5kcyBWYXNCYXNlTW9kZWwgaW1wbGVtZW50cyBWYXNDb250cm9sRHRvIHtcbiAgcHVibGljIGNvbnRyb2xUeXBlTW9kZWw6IFZhc0NvbnRyb2xUeXBlTW9kZWwgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBpZFxuICAgKiBAcGFyYW0ge3N0cmluZ30gY3JlYXRlZFxuICAgKiBAcGFyYW0ge3N0cmluZ30gc2VydmVyQ3JlYXRlZFxuICAgKiBAcGFyYW0ge3N0cmluZ30gY3JlYXRlZEJ5XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtb2RpZmllZFxuICAgKiBAcGFyYW0ge3N0cmluZ30gc2VydmVyTW9kaWZpZWRcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1vZGlmaWVkQnlcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFjY291bnRcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFjY2Vzc0dyb3VwXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjb250cm9sVHlwZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gZ3JvdXBcbiAgICogQHBhcmFtIHtzdHJpbmdbXX0gdmFsaWRhdG9yc1xuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGl0bGVcbiAgICogQHBhcmFtIHtib29sZWFufSBsaW5rYWJsZVxuICAgKiBAcGFyYW0ge251bWJlcn0gc2VxdWVuY2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IGRlc2NyaXB0aW9uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBkZWZhdWx0VmFsdWVcbiAgICogQHBhcmFtIHtvYmplY3R9IGNvbmZpZ1xuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIG92ZXJyaWRlIGlkOiBzdHJpbmcsXG4gICAgcHVibGljIG92ZXJyaWRlIGNyZWF0ZWQ6IHN0cmluZyxcbiAgICBwdWJsaWMgb3ZlcnJpZGUgc2VydmVyQ3JlYXRlZDogc3RyaW5nLFxuICAgIHB1YmxpYyBvdmVycmlkZSBjcmVhdGVkQnk6IHN0cmluZyxcbiAgICBwdWJsaWMgb3ZlcnJpZGUgbW9kaWZpZWQ6IHN0cmluZyxcbiAgICBwdWJsaWMgb3ZlcnJpZGUgc2VydmVyTW9kaWZpZWQ6IHN0cmluZyxcbiAgICBwdWJsaWMgb3ZlcnJpZGUgbW9kaWZpZWRCeTogc3RyaW5nLFxuICAgIHB1YmxpYyBhY2NvdW50OiBzdHJpbmcsXG4gICAgcHVibGljIGFjY2Vzc0dyb3VwOiBzdHJpbmcsXG4gICAgcHVibGljIGNvbnRyb2xUeXBlOiBzdHJpbmcsXG4gICAgcHVibGljIGdyb3VwOiBzdHJpbmcsXG4gICAgcHVibGljIHZhbGlkYXRvcnM6IHN0cmluZ1tdLFxuICAgIHB1YmxpYyBuYW1lOiBzdHJpbmcsXG4gICAgcHVibGljIHRpdGxlOiBzdHJpbmcsXG4gICAgcHVibGljIGxpbmthYmxlOiBib29sZWFuLFxuICAgIHB1YmxpYyBzZXF1ZW5jZTogbnVtYmVyLFxuICAgIHB1YmxpYyBkZXNjcmlwdGlvbjogc3RyaW5nLFxuICAgIHB1YmxpYyBkZWZhdWx0VmFsdWU6IHN0cmluZyxcbiAgICBwdWJsaWMgY29uZmlnOiBzdHJpbmdcbiAgKSB7XG4gICAgc3VwZXIoXG4gICAgICBpZCxcbiAgICAgIGNyZWF0ZWQsXG4gICAgICBzZXJ2ZXJDcmVhdGVkLFxuICAgICAgY3JlYXRlZEJ5LFxuICAgICAgbW9kaWZpZWQsXG4gICAgICBzZXJ2ZXJNb2RpZmllZCxcbiAgICAgIG1vZGlmaWVkQnlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBjb25maWcgcHJvcGVydHkgaXMgcmV0dXJuZWQgZnJvbSB0aGUgYXBpIGFzIGEganNvbiBzdHJpbmcsIHRoaXMgZ2V0dGVyXG4gICAqIHdpbGwgZGVzZXJpYWxpemUgaXRcbiAgICogQHJldHVybiB7VH1cbiAgICovXG4gIGdldENvbmZpZ01vZGVsPFQ+KCk6IFQge1xuICAgIHJldHVybiBKU09OLnBhcnNlKHRoaXMuY29uZmlnKSBhcyBUO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBkZWZhdWx0VmFsdWUgcHJvcGVydHkgaXMgcmV0dXJuZWQgZnJvbSB0aGUgYXBpIGFzIGEgc3RyaW5nIG9yIG51bWJlcixcbiAgICogaW4gdGhlIGNhc2Ugb2Ygc3RyaW5nLCBpdCBtYXliZSBhIGpzb24uIFRoaXMgZ2V0dGVyIHdpbGwgcmV0dXJuIGFuXG4gICAqIG9iamVjdCBpZiB0aGUgdmFsdWUgaXMgYSBqc29uIHN0cmluZ1xuICAgKi9cbiAgZ2V0IGRlZmF1bHRWYWx1ZURlY29kZWQoKTogVmFzQ29udHJvbE1vZGVsRGVmYXVsdFZhbHVlVHlwZSB7XG5cbiAgICBpZiAodGhpcy5kZWZhdWx0VmFsdWUgPT09ICcnICYmIHRoaXMuY29udHJvbFR5cGVNb2RlbCkge1xuICAgICAgc3dpdGNoICh0aGlzLmNvbnRyb2xUeXBlTW9kZWwubmFtZSkge1xuICAgICAgICBjYXNlICdicmFuY2gnOlxuICAgICAgICBjYXNlICdjYW1lcmEnOlxuICAgICAgICBjYXNlICdjb250YWN0Jzoge1xuICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnBhcnNlTWF5YmVKc29uKHRoaXMuZGVmYXVsdFZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBuYW1lIG9mIHRoaXMgY29udHJvbCB0byBiZSB1c2VkIGluIHRoZSByZXBvcnQgdGVtcGxhdGVzXG4gICAqIGkuZS4gZmllbGQuZm9vIC0+IGZvb1xuICAgKiBAcmV0dXJuIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgcmVwb3J0VGVtcGxhdGVOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubmFtZS5yZXBsYWNlKC9eZmllbGRzXFwuLywgJycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIGdldCBzYWZlTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybiB7VmFzQ29udHJvbE1vZGVsfVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBlbXB0eSgpOiBWYXNDb250cm9sTW9kZWwge1xuICAgIHJldHVybiBWYXNDb250cm9sTW9kZWwuZnJvbUR0byh7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbmV3LWNhcFxuICAgICAgaWQ6IFVVSUQuVVVJRCgpXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtWYXNDb250cm9sRHRvfSBkdG9cbiAgICogQHJldHVybiB7VmFzQ29udHJvbE1vZGVsfVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tRHRvKFxuICAgIGR0bzogUGFydGlhbDxWYXNDb250cm9sRHRvPlxuICApOiBWYXNDb250cm9sTW9kZWwge1xuICAgIHJldHVybiBuZXcgVmFzQ29udHJvbE1vZGVsKFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5ldy1jYXBcbiAgICAgIGR0by5pZCB8fCBVVUlELlVVSUQoKSxcbiAgICAgIGR0by5jcmVhdGVkIHx8ICcnLFxuICAgICAgZHRvLnNlcnZlckNyZWF0ZWQgfHwgJycsXG4gICAgICBkdG8uY3JlYXRlZEJ5IHx8ICcnLFxuICAgICAgZHRvLm1vZGlmaWVkIHx8ICcnLFxuICAgICAgZHRvLnNlcnZlck1vZGlmaWVkIHx8ICcnLFxuICAgICAgZHRvLm1vZGlmaWVkQnkgfHwgJycsXG4gICAgICBkdG8uYWNjb3VudCB8fCAnJyxcbiAgICAgIGR0by5hY2Nlc3NHcm91cCB8fCAnJyxcbiAgICAgIGR0by5jb250cm9sVHlwZSB8fCAnJyxcbiAgICAgIGR0by5ncm91cCB8fCAnJyxcbiAgICAgIGR0by52YWxpZGF0b3JzIHx8IFtdLFxuICAgICAgZHRvLm5hbWUgfHwgJycsXG4gICAgICBkdG8udGl0bGUgfHwgJycsXG4gICAgICBkdG8ubGlua2FibGUgfHwgZmFsc2UsXG4gICAgICBkdG8uc2VxdWVuY2UgfHwgMCxcbiAgICAgIGR0by5kZXNjcmlwdGlvbiB8fCAnJyxcbiAgICAgIGR0by5kZWZhdWx0VmFsdWUgfHwgJycsXG4gICAgICBkdG8uY29uZmlnIHx8ICd7fScsXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAgICogQHJldHVybiB7VmFzQ29udHJvbE1vZGVsRGVmYXVsdFZhbHVlVHlwZX1cbiAgICovXG4gIHByb3RlY3RlZCBwYXJzZU1heWJlSnNvbihcbiAgICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgb2JqZWN0XG4gICk6IFZhc0NvbnRyb2xNb2RlbERlZmF1bHRWYWx1ZVR5cGUge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBKU09OLnBhcnNlKHZhbHVlKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm4ge1Zhc0NvbnRyb2xEdG99XG4gICAqL1xuICB0b0R0bygpOiBWYXNDb250cm9sRHRvIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgICBjcmVhdGVkOiB0aGlzLmNyZWF0ZWQsXG4gICAgICBzZXJ2ZXJDcmVhdGVkOiB0aGlzLnNlcnZlckNyZWF0ZWQsXG4gICAgICBjcmVhdGVkQnk6IHRoaXMuY3JlYXRlZEJ5LFxuICAgICAgbW9kaWZpZWQ6IHRoaXMubW9kaWZpZWQsXG4gICAgICBzZXJ2ZXJNb2RpZmllZDogdGhpcy5zZXJ2ZXJNb2RpZmllZCxcbiAgICAgIG1vZGlmaWVkQnk6IHRoaXMubW9kaWZpZWRCeSxcbiAgICAgIGFjY291bnQ6IHRoaXMuYWNjb3VudCxcbiAgICAgIGFjY2Vzc0dyb3VwOiB0aGlzLmFjY2Vzc0dyb3VwLFxuICAgICAgY29udHJvbFR5cGU6IHRoaXMuY29udHJvbFR5cGUsXG4gICAgICBncm91cDogdGhpcy5ncm91cCxcbiAgICAgIHZhbGlkYXRvcnM6IHRoaXMudmFsaWRhdG9ycyxcbiAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgIHRpdGxlOiB0aGlzLnRpdGxlLFxuICAgICAgbGlua2FibGU6IHRoaXMubGlua2FibGUsXG4gICAgICBzZXF1ZW5jZTogdGhpcy5zZXF1ZW5jZSxcbiAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLmRlc2NyaXB0aW9uLFxuICAgICAgZGVmYXVsdFZhbHVlOiB0aGlzLmRlZmF1bHRWYWx1ZSxcbiAgICAgIGNvbmZpZzogdGhpcy5jb25maWdcbiAgICB9O1xuICB9XG59XG5cbiJdfQ==
@@ -36,6 +36,17 @@ export class VasFormModel extends VasBaseModel {
36
36
  this.description = description;
37
37
  this.groups = groups;
38
38
  }
39
+ /**
40
+ * Returns the name of this form in a "safe" way, i.e. no spaces, special
41
+ * characters
42
+ * @return {string}
43
+ */
44
+ get safeTitle() {
45
+ return this.title
46
+ .replace(/[^a-z0-9]/gi, '-')
47
+ .replace(/-+/g, '-')
48
+ .toLowerCase();
49
+ }
39
50
  /**
40
51
  * The VAS API response for Form will inline Group and Control but not
41
52
  * ControlType. This method is a help which will allows us to construct an
@@ -68,6 +79,18 @@ export class VasFormModel extends VasBaseModel {
68
79
  .sort((a, b) => a.sequence - b.sequence)
69
80
  .map(g => VasGroupModel.fromDto(g)));
70
81
  }
82
+ addControlTypesToControl(controlTypes) {
83
+ const controlTypeModels = controlTypes
84
+ .map(ct => VasControlTypeModel.fromDto(ct));
85
+ this.groups
86
+ .forEach(group => {
87
+ group.controls
88
+ .forEach(control => {
89
+ control.controlTypeModel = controlTypeModels
90
+ .find(ctm => ctm.id === control.controlType);
91
+ });
92
+ });
93
+ }
71
94
  /**
72
95
  * @param {string} id
73
96
  * @return {VasControlModel | undefined}
@@ -85,6 +108,24 @@ export class VasFormModel extends VasBaseModel {
85
108
  }));
86
109
  return result;
87
110
  }
111
+ /**
112
+ *
113
+ * @param {string} name
114
+ * @return {VasControlModel | undefined}
115
+ */
116
+ findControlModelByName(name) {
117
+ let result;
118
+ this.groups
119
+ .find(group => group.controls
120
+ .find(control => {
121
+ if (control.name !== name) {
122
+ return;
123
+ }
124
+ result = control;
125
+ return true;
126
+ }));
127
+ return result;
128
+ }
88
129
  /**
89
130
  *
90
131
  * @return {Array<Array<string>>}
@@ -140,4 +181,4 @@ export class VasFormModel extends VasBaseModel {
140
181
  };
141
182
  }
142
183
  }
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFzLWZvcm0ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YXMtbGliL3NyYy9saWIvZW50aXR5L3Zhcy1mb3JtLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHbEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFLL0Q7O0dBRUc7QUFDSCxNQUFNLE9BQU8sWUFBYSxTQUFRLFlBQVk7SUFDNUM7Ozs7Ozs7Ozs7Ozs7O09BY0c7SUFDSCxZQUNrQixFQUFVLEVBQ1YsT0FBZSxFQUNmLGFBQXFCLEVBQ3JCLFNBQWlCLEVBQ2pCLFFBQWdCLEVBQ2hCLGNBQXNCLEVBQ3RCLFVBQWtCLEVBQzNCLE9BQWUsRUFDZixXQUFtQixFQUNuQixPQUFlLEVBQ2YsS0FBYSxFQUNiLFdBQW1CLEVBQ25CLE1BQXVCO1FBRTlCLEtBQUssQ0FDSCxFQUFFLEVBQ0YsT0FBTyxFQUNQLGFBQWEsRUFDYixTQUFTLEVBQ1QsUUFBUSxFQUNSLGNBQWMsRUFDZCxVQUFVLENBQ1gsQ0FBQztRQXRCYyxPQUFFLEdBQUYsRUFBRSxDQUFRO1FBQ1YsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLGtCQUFhLEdBQWIsYUFBYSxDQUFRO1FBQ3JCLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDakIsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUNoQixtQkFBYyxHQUFkLGNBQWMsQ0FBUTtRQUN0QixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQzNCLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUNuQixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLGdCQUFXLEdBQVgsV0FB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SUFBSSxDQUFDLFdBQVc7WUFDN0IsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2hELENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYXNCYXNlTW9kZWwgfSBmcm9tICcuL3Zhcy1iYXNlLm1vZGVsJztcbmltcG9ydCB7IFZhc0dyb3VwTW9kZWwgfSBmcm9tICcuL3Zhcy1ncm91cC5tb2RlbCc7XG5pbXBvcnQgeyBWYXNDb250cm9sTW9kZWwgfSBmcm9tICcuL3Zhcy1jb250cm9sLm1vZGVsJztcbmltcG9ydCB7IFZhc0Zvcm1EdG8gfSBmcm9tICcuL3Zhcy1mb3JtLmR0byc7XG5pbXBvcnQgeyBWYXNDb250cm9sVHlwZU1vZGVsIH0gZnJvbSAnLi92YXMtY29udHJvbC10eXBlLm1vZGVsJztcbmltcG9ydCB7IFZhc0NvbnRyb2xUeXBlRHRvIH0gZnJvbSAnLi92YXMtY29udHJvbC10eXBlLmR0byc7XG5pbXBvcnQgeyBWYXNGaWVsZER0b1ZhbHVlIH0gZnJvbSAnLi92YXMtZmllbGQuZHRvJztcbmltcG9ydCB7IFZhc0pvYk1vZGVsIH0gZnJvbSAnLi92YXMtam9iLm1vZGVsJztcblxuLyoqXG4gKiBWYXNGb3JtTW9kZWxcbiAqL1xuZXhwb3J0IGNsYXNzIFZhc0Zvcm1Nb2RlbCBleHRlbmRzIFZhc0Jhc2VNb2RlbCB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gaWRcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNyZWF0ZWRcbiAgICogQHBhcmFtIHtzdHJpbmd9IHNlcnZlckNyZWF0ZWRcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNyZWF0ZWRCeVxuICAgKiBAcGFyYW0ge3N0cmluZ30gbW9kaWZpZWRcbiAgICogQHBhcmFtIHtzdHJpbmd9IHNlcnZlck1vZGlmaWVkXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtb2RpZmllZEJ5XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhY2NvdW50XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhY2Nlc3NHcm91cFxuICAgKiBAcGFyYW0ge3N0cmluZ30gam9iVHlwZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGl0bGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IGRlc2NyaXB0aW9uXG4gICAqIEBwYXJhbSB7VmFzR3JvdXBNb2RlbFtdfSBncm91cHNcbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBvdmVycmlkZSBpZDogc3RyaW5nLFxuICAgIHB1YmxpYyBvdmVycmlkZSBjcmVhdGVkOiBzdHJpbmcsXG4gICAgcHVibGljIG92ZXJyaWRlIHNlcnZlckNyZWF0ZWQ6IHN0cmluZyxcbiAgICBwdWJsaWMgb3ZlcnJpZGUgY3JlYXRlZEJ5OiBzdHJpbmcsXG4gICAgcHVibGljIG92ZXJyaWRlIG1vZGlmaWVkOiBzdHJpbmcsXG4gICAgcHVibGljIG92ZXJyaWRlIHNlcnZlck1vZGlmaWVkOiBzdHJpbmcsXG4gICAgcHVibGljIG92ZXJyaWRlIG1vZGlmaWVkQnk6IHN0cmluZyxcbiAgICBwdWJsaWMgYWNjb3VudDogc3RyaW5nLFxuICAgIHB1YmxpYyBhY2Nlc3NHcm91cDogc3RyaW5nLFxuICAgIHB1YmxpYyBqb2JUeXBlOiBzdHJpbmcsXG4gICAgcHVibGljIHRpdGxlOiBzdHJpbmcsXG4gICAgcHVibGljIGRlc2NyaXB0aW9uOiBzdHJpbmcsXG4gICAgcHVibGljIGdyb3VwczogVmFzR3JvdXBNb2RlbFtdXG4gICkge1xuICAgIHN1cGVyKFxuICAgICAgaWQsXG4gICAgICBjcmVhdGVkLFxuICAgICAgc2VydmVyQ3JlYXRlZCxcbiAgICAgIGNyZWF0ZWRCeSxcbiAgICAgIG1vZGlmaWVkLFxuICAgICAgc2VydmVyTW9kaWZpZWQsXG4gICAgICBtb2RpZmllZEJ5XG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgVkFTIEFQSSByZXNwb25zZSBmb3IgRm9ybSB3aWxsIGlubGluZSBHcm91cCBhbmQgQ29udHJvbCBidXQgbm90XG4gICAqIENvbnRyb2xUeXBlLiBUaGlzIG1ldGhvZCBpcyBhIGhlbHAgd2hpY2ggd2lsbCBhbGxvd3MgdXMgdG8gY29uc3RydWN0IGFuXG4gICAqIGluc3RhbmNlIG9mIFZhc0Zvcm1Nb2RlbCB3aXRoIHRoZSBDb250cm9sVHlwZSBtb2RlbCBzZXQgYXBwcm9wcmlhdGVseSBpbnRvXG4gICAqIGVhY2ggVmFzQ29udHJvbE1vZGVsXG4gICAqIEBwYXJhbSB7VmFzRm9ybUR0b30gZm9ybUR0b1xuICAgKiBAcGFyYW0ge0FycmF5PFZhc0NvbnRyb2xUeXBlRHRvPn0gY29udHJvbFR5cGVEdG9zXG4gICAqIEByZXR1cm4ge1Zhc0Zvcm1Nb2RlbH1cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUFwaVJlc3BvbnNlKFxuICAgIGZvcm1EdG86IFZhc0Zvcm1EdG8sXG4gICAgY29udHJvbFR5cGVEdG9zOiBBcnJheTxWYXNDb250cm9sVHlwZUR0bz5cbiAgKTogVmFzRm9ybU1vZGVsIHtcbiAgICBjb25zdCBjb250cm9sVHlwZU1vZGVscyA9IGNvbnRyb2xUeXBlRHRvc1xuICAgICAgLm1hcChjdER0byA9PiBWYXNDb250cm9sVHlwZU1vZGVsLmZyb21EdG8oY3REdG8pKTtcbiAgICBjb25zdCBmb3JtTW9kZWwgPSBWYXNGb3JtTW9kZWwuZnJvbUR0byhmb3JtRHRvKTtcbiAgICBmb3JtTW9kZWwuZ3JvdXBzXG4gICAgICAuZm9yRWFjaChncm91cCA9PiB7XG4gICAgICAgIGdyb3VwLmNvbnRyb2xzXG4gICAgICAgICAgLmZvckVhY2goY29udHJvbCA9PiB7XG4gICAgICAgICAgICBjb250cm9sLmNvbnRyb2xUeXBlTW9kZWwgPSBjb250cm9sVHlwZU1vZGVsc1xuICAgICAgICAgICAgICAuZmluZChjdCA9PiBjdC5pZCA9PT0gY29udHJvbC5jb250cm9sVHlwZSk7XG4gICAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICByZXR1cm4gZm9ybU1vZGVsO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7VmFzRm9ybUR0b30gZHRvXG4gICAqIEByZXR1cm4ge1Zhc0Zvcm1Nb2RlbH1cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUR0byhkdG86IFBhcnRpYWw8VmFzRm9ybUR0bz4pOiBWYXNGb3JtTW9kZWwge1xuICAgIHJldHVybiBuZXcgVmFzRm9ybU1vZGVsKFxuICAgICAgZHRvLmlkIHx8ICcnLFxuICAgICAgZHRvLmNyZWF0ZWQgfHwgJycsXG4gICAgICBkdG8uc2VydmVyQ3JlYXRlZCB8fCAnJyxcbiAgICAgIGR0by5jcmVhdGVkQnkgfHwgJycsXG4gICAgICBkdG8ubW9kaWZpZWQgfHwgJycsXG4gICAgICBkdG8uc2VydmVyTW9kaWZpZWQgfHwgJycsXG4gICAgICBkdG8ubW9kaWZpZWRCeSB8fCAnJyxcbiAgICAgIGR0by5hY2NvdW50IHx8ICcnLFxuICAgICAgZHRvLmFjY2Vzc0dyb3VwIHx8ICcnLFxuICAgICAgZHRvLmpvYlR5cGUgfHwgJycsXG4gICAgICBkdG8udGl0bGUgfHwgJycsXG4gICAgICBkdG8uZGVzY3JpcHRpb24gfHwgJycsXG4gICAgICAoZHRvLmdyb3VwcyB8fCBbXSlcbiAgICAgICAgLnNvcnQoKGEsIGIpID0+IGEuc2VxdWVuY2UgLSBiLnNlcXVlbmNlKVxuICAgICAgICAubWFwKGcgPT4gVmFzR3JvdXBNb2RlbC5mcm9tRHRvKGcpKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IGlkXG4gICAqIEByZXR1cm4ge1Zhc0NvbnRyb2xNb2RlbCB8IHVuZGVmaW5lZH1cbiAgICovXG4gIGZpbmRDb250cm9sTW9kZWxCeUlkKGlkOiBzdHJpbmcpOiBWYXNDb250cm9sTW9kZWwgfCB1bmRlZmluZWQge1xuICAgIGxldCByZXN1bHQ7XG4gICAgdGhpcy5ncm91cHNcbiAgICAgIC5maW5kKGdyb3VwID0+IGdyb3VwLmNvbnRyb2xzXG4gICAgICAgIC5maW5kKGNvbnRyb2wgPT4ge1xuICAgICAgICAgIGlmIChjb250cm9sLmlkICE9PSBpZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXN1bHQgPSBjb250cm9sO1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9KSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcmV0dXJuIHtBcnJheTxBcnJheTxzdHJpbmc+Pn1cbiAgICovXG4gIGdldENhbWVyYUNvbnRyb2xQYXRocygpOiBBcnJheTxBcnJheTxzdHJpbmc+PiB7XG4gICAgY29uc3QgcGF0aHM6IHN0cmluZ1tdW10gPSBbXTtcbiAgICB0aGlzLmdyb3Vwcy5mb3JFYWNoKGdyb3VwID0+IHtcbiAgICAgIGdyb3VwLmNvbnRyb2xzLmZvckVhY2goY29udHJvbCA9PiB7XG4gICAgICAgIGlmIChjb250cm9sLmNvbnRyb2xUeXBlTW9kZWw/Lm5hbWUgIT09ICdjYW1lcmEnKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHBhdGhzLnB1c2goW2dyb3VwLm5hbWUsIGNvbnRyb2wuc2FmZU5hbWVdKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHJldHVybiBwYXRocztcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge1Zhc0pvYk1vZGVsfSBqb2JNb2RlbFxuICAgKiBAcmV0dXJuIHtBcnJheTx7aWQ6IHN0cmluZywgdmFsdWU6IFZhc0ZpZWxkRHRvVmFsdWV9Pn1cbiAgICovXG4gIGdldFZhbHVlc0J5Q29udHJvbElkKFxuICAgIGpvYk1vZGVsOiBWYXNKb2JNb2RlbFxuICApOiBBcnJheTx7aWQ6IHN0cmluZywgdmFsdWU6IFZhc0ZpZWxkRHRvVmFsdWUgfCB1bmRlZmluZWR9PiB7XG4gICAgY29uc3QgaXRlbXM6IEFycmF5PHtpZDogc3RyaW5nLCB2YWx1ZTogVmFzRmllbGREdG9WYWx1ZSB8IHVuZGVmaW5lZH0+ID0gW107XG4gICAgdGhpcy5ncm91cHNcbiAgICAgIC5mb3JFYWNoKGdyb3VwID0+IHtcbiAgICAgICAgZ3JvdXAuY29udHJvbHNcbiAgICAgICAgICAuZm9yRWFjaChjb250cm9sID0+IHtcbiAgICAgICAgICAgIGl0ZW1zLnB1c2goe1xuICAgICAgICAgICAgICBpZDogY29udHJvbC5pZCxcbiAgICAgICAgICAgICAgdmFsdWU6IGpvYk1vZGVsLmdldFZhbHVlQnlQYXRoKFtncm91cC5uYW1lLCBjb250cm9sLnNhZmVOYW1lXSlcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgcmV0dXJuIGl0ZW1zO1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm4ge1Zhc0Zvcm1EdG99XG4gICAqL1xuICB0b0R0bygpOiBWYXNGb3JtRHRvIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgICBjcmVhdGVkOiB0aGlzLmNyZWF0ZWQsXG4gICAgICBzZXJ2ZXJDcmVhdGVkOiB0aGlzLnNlcnZlckNyZWF0ZWQsXG4gICAgICBjcmVhdGVkQnk6IHRoaXMuY3JlYXRlZEJ5LFxuICAgICAgbW9kaWZpZWQ6IHRoaXMubW9kaWZpZWQsXG4gICAgICBzZXJ2ZXJNb2RpZmllZDogdGhpcy5zZXJ2ZXJNb2RpZmllZCxcbiAgICAgIG1vZGlmaWVkQnk6IHRoaXMubW9kaWZpZWRCeSxcbiAgICAgIGFjY291bnQ6IHRoaXMuYWNjb3VudCxcbiAgICAgIGFjY2Vzc0dyb3VwOiB0aGlzLmFjY2Vzc0dyb3VwLFxuICAgICAgam9iVHlwZTogdGhpcy5qb2JUeXBlLFxuICAgICAgdGl0bGU6IHRoaXMudGl0bGUsXG4gICAgICBkZXNjcmlwdGlvbjogdGhpcy5kZXNjcmlwdGlvbixcbiAgICAgIGdyb3VwczogdGhpcy5ncm91cHMubWFwKGdyb3VwID0+IGdyb3VwLnRvRHRvKCkpLFxuICAgIH07XG4gIH1cbn1cblxuIl19
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFzLWZvcm0ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YXMtbGliL3NyYy9saWIvZW50aXR5L3Zhcy1mb3JtLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHbEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFLL0Q7O0dBRUc7QUFDSCxNQUFNLE9BQU8sWUFBYSxTQUFRLFlBQVk7SUFDNUM7Ozs7Ozs7Ozs7Ozs7O09BY0c7SUFDSCxZQUNrQixFQUFVLEVBQ1YsT0FBZSxFQUNmLGFBQXFCLEVBQ3JCLFNBQWlCLEVBQ2pCLFFBQWdCLEVBQ2hCLGNBQXNCLEVBQ3RCLFVBQWtCLEVBQzNCLE9BQWUsRUFDZixXQUFtQixFQUNuQixPQUFlLEVBQ2YsS0FBYSxFQUNiLFdBQW1CLEVBQ25CLE1BQXVCO1FBRTlCLEtBQUssQ0FDSCxFQUFFLEVBQ0YsT0FBTyxFQUNQLGFBQWEsRUFDYixTQUFTLEVBQ1QsUUFBUSxFQUNSLGNBQWMsRUFDZCxVQUFVLENBQ1gsQ0FBQztRQXRCYyxPQUFFLEdBQUYsRUFBRSxDQUFRO1FBQ1YsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLGtCQUFhLEdBQWIsYUFBYSxDQUFRO1FBQ3JCLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDakIsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUNoQixtQkFBYyxHQUFkLGNBQWMsQ0FBUTtRQUN0QixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQzNCLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUNuQixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLGdCQUFXLEdBQVgsV0FB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QUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDaEQsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhc0Jhc2VNb2RlbCB9IGZyb20gJy4vdmFzLWJhc2UubW9kZWwnO1xuaW1wb3J0IHsgVmFzR3JvdXBNb2RlbCB9IGZyb20gJy4vdmFzLWdyb3VwLm1vZGVsJztcbmltcG9ydCB7IFZhc0NvbnRyb2xNb2RlbCB9IGZyb20gJy4vdmFzLWNvbnRyb2wubW9kZWwnO1xuaW1wb3J0IHsgVmFzRm9ybUR0byB9IGZyb20gJy4vdmFzLWZvcm0uZHRvJztcbmltcG9ydCB7IFZhc0NvbnRyb2xUeXBlTW9kZWwgfSBmcm9tICcuL3Zhcy1jb250cm9sLXR5cGUubW9kZWwnO1xuaW1wb3J0IHsgVmFzQ29udHJvbFR5cGVEdG8gfSBmcm9tICcuL3Zhcy1jb250cm9sLXR5cGUuZHRvJztcbmltcG9ydCB7IFZhc0ZpZWxkRHRvVmFsdWUgfSBmcm9tICcuL3Zhcy1maWVsZC5kdG8nO1xuaW1wb3J0IHsgVmFzSm9iTW9kZWwgfSBmcm9tICcuL3Zhcy1qb2IubW9kZWwnO1xuXG4vKipcbiAqIFZhc0Zvcm1Nb2RlbFxuICovXG5leHBvcnQgY2xhc3MgVmFzRm9ybU1vZGVsIGV4dGVuZHMgVmFzQmFzZU1vZGVsIHtcbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBpZFxuICAgKiBAcGFyYW0ge3N0cmluZ30gY3JlYXRlZFxuICAgKiBAcGFyYW0ge3N0cmluZ30gc2VydmVyQ3JlYXRlZFxuICAgKiBAcGFyYW0ge3N0cmluZ30gY3JlYXRlZEJ5XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtb2RpZmllZFxuICAgKiBAcGFyYW0ge3N0cmluZ30gc2VydmVyTW9kaWZpZWRcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1vZGlmaWVkQnlcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFjY291bnRcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFjY2Vzc0dyb3VwXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBqb2JUeXBlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0aXRsZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gZGVzY3JpcHRpb25cbiAgICogQHBhcmFtIHtWYXNHcm91cE1vZGVsW119IGdyb3Vwc1xuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIG92ZXJyaWRlIGlkOiBzdHJpbmcsXG4gICAgcHVibGljIG92ZXJyaWRlIGNyZWF0ZWQ6IHN0cmluZyxcbiAgICBwdWJsaWMgb3ZlcnJpZGUgc2VydmVyQ3JlYXRlZDogc3RyaW5nLFxuICAgIHB1YmxpYyBvdmVycmlkZSBjcmVhdGVkQnk6IHN0cmluZyxcbiAgICBwdWJsaWMgb3ZlcnJpZGUgbW9kaWZpZWQ6IHN0cmluZyxcbiAgICBwdWJsaWMgb3ZlcnJpZGUgc2VydmVyTW9kaWZpZWQ6IHN0cmluZyxcbiAgICBwdWJsaWMgb3ZlcnJpZGUgbW9kaWZpZWRCeTogc3RyaW5nLFxuICAgIHB1YmxpYyBhY2NvdW50OiBzdHJpbmcsXG4gICAgcHVibGljIGFjY2Vzc0dyb3VwOiBzdHJpbmcsXG4gICAgcHVibGljIGpvYlR5cGU6IHN0cmluZyxcbiAgICBwdWJsaWMgdGl0bGU6IHN0cmluZyxcbiAgICBwdWJsaWMgZGVzY3JpcHRpb246IHN0cmluZyxcbiAgICBwdWJsaWMgZ3JvdXBzOiBWYXNHcm91cE1vZGVsW11cbiAgKSB7XG4gICAgc3VwZXIoXG4gICAgICBpZCxcbiAgICAgIGNyZWF0ZWQsXG4gICAgICBzZXJ2ZXJDcmVhdGVkLFxuICAgICAgY3JlYXRlZEJ5LFxuICAgICAgbW9kaWZpZWQsXG4gICAgICBzZXJ2ZXJNb2RpZmllZCxcbiAgICAgIG1vZGlmaWVkQnlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIG5hbWUgb2YgdGhpcyBmb3JtIGluIGEgXCJzYWZlXCIgd2F5LCBpLmUuIG5vIHNwYWNlcywgc3BlY2lhbFxuICAgKiBjaGFyYWN0ZXJzXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIGdldCBzYWZlVGl0bGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50aXRsZVxuICAgICAgLnJlcGxhY2UoL1teYS16MC05XS9naSwgJy0nKVxuICAgICAgLnJlcGxhY2UoLy0rL2csICctJylcbiAgICAgIC50b0xvd2VyQ2FzZSgpO1xuICB9XG5cblxuICAvKipcbiAgICogVGhlIFZBUyBBUEkgcmVzcG9uc2UgZm9yIEZvcm0gd2lsbCBpbmxpbmUgR3JvdXAgYW5kIENvbnRyb2wgYnV0IG5vdFxuICAgKiBDb250cm9sVHlwZS4gVGhpcyBtZXRob2QgaXMgYSBoZWxwIHdoaWNoIHdpbGwgYWxsb3dzIHVzIHRvIGNvbnN0cnVjdCBhblxuICAgKiBpbnN0YW5jZSBvZiBWYXNGb3JtTW9kZWwgd2l0aCB0aGUgQ29udHJvbFR5cGUgbW9kZWwgc2V0IGFwcHJvcHJpYXRlbHkgaW50b1xuICAgKiBlYWNoIFZhc0NvbnRyb2xNb2RlbFxuICAgKiBAcGFyYW0ge1Zhc0Zvcm1EdG99IGZvcm1EdG9cbiAgICogQHBhcmFtIHtBcnJheTxWYXNDb250cm9sVHlwZUR0bz59IGNvbnRyb2xUeXBlRHRvc1xuICAgKiBAcmV0dXJuIHtWYXNGb3JtTW9kZWx9XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21BcGlSZXNwb25zZShcbiAgICBmb3JtRHRvOiBWYXNGb3JtRHRvLFxuICAgIGNvbnRyb2xUeXBlRHRvczogQXJyYXk8VmFzQ29udHJvbFR5cGVEdG8+XG4gICk6IFZhc0Zvcm1Nb2RlbCB7XG4gICAgY29uc3QgY29udHJvbFR5cGVNb2RlbHMgPSBjb250cm9sVHlwZUR0b3NcbiAgICAgIC5tYXAoY3REdG8gPT4gVmFzQ29udHJvbFR5cGVNb2RlbC5mcm9tRHRvKGN0RHRvKSk7XG4gICAgY29uc3QgZm9ybU1vZGVsID0gVmFzRm9ybU1vZGVsLmZyb21EdG8oZm9ybUR0byk7XG4gICAgZm9ybU1vZGVsLmdyb3Vwc1xuICAgICAgLmZvckVhY2goZ3JvdXAgPT4ge1xuICAgICAgICBncm91cC5jb250cm9sc1xuICAgICAgICAgIC5mb3JFYWNoKGNvbnRyb2wgPT4ge1xuICAgICAgICAgICAgY29udHJvbC5jb250cm9sVHlwZU1vZGVsID0gY29udHJvbFR5cGVNb2RlbHNcbiAgICAgICAgICAgICAgLmZpbmQoY3QgPT4gY3QuaWQgPT09IGNvbnRyb2wuY29udHJvbFR5cGUpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgcmV0dXJuIGZvcm1Nb2RlbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge1Zhc0Zvcm1EdG99IGR0b1xuICAgKiBAcmV0dXJuIHtWYXNGb3JtTW9kZWx9XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21EdG8oZHRvOiBQYXJ0aWFsPFZhc0Zvcm1EdG8+KTogVmFzRm9ybU1vZGVsIHtcbiAgICByZXR1cm4gbmV3IFZhc0Zvcm1Nb2RlbChcbiAgICAgIGR0by5pZCB8fCAnJyxcbiAgICAgIGR0by5jcmVhdGVkIHx8ICcnLFxuICAgICAgZHRvLnNlcnZlckNyZWF0ZWQgfHwgJycsXG4gICAgICBkdG8uY3JlYXRlZEJ5IHx8ICcnLFxuICAgICAgZHRvLm1vZGlmaWVkIHx8ICcnLFxuICAgICAgZHRvLnNlcnZlck1vZGlmaWVkIHx8ICcnLFxuICAgICAgZHRvLm1vZGlmaWVkQnkgfHwgJycsXG4gICAgICBkdG8uYWNjb3VudCB8fCAnJyxcbiAgICAgIGR0by5hY2Nlc3NHcm91cCB8fCAnJyxcbiAgICAgIGR0by5qb2JUeXBlIHx8ICcnLFxuICAgICAgZHRvLnRpdGxlIHx8ICcnLFxuICAgICAgZHRvLmRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgKGR0by5ncm91cHMgfHwgW10pXG4gICAgICAgIC5zb3J0KChhLCBiKSA9PiBhLnNlcXVlbmNlIC0gYi5zZXF1ZW5jZSlcbiAgICAgICAgLm1hcChnID0+IFZhc0dyb3VwTW9kZWwuZnJvbUR0byhnKSlcbiAgICApO1xuICB9XG5cbiAgYWRkQ29udHJvbFR5cGVzVG9Db250cm9sKGNvbnRyb2xUeXBlczogQXJyYXk8VmFzQ29udHJvbFR5cGVEdG8+KTogdm9pZCB7XG4gICAgY29uc3QgY29udHJvbFR5cGVNb2RlbHMgPSBjb250cm9sVHlwZXNcbiAgICAgIC5tYXAoY3QgPT4gVmFzQ29udHJvbFR5cGVNb2RlbC5mcm9tRHRvKGN0KSlcbiAgICB0aGlzLmdyb3Vwc1xuICAgICAgLmZvckVhY2goZ3JvdXAgPT4ge1xuICAgICAgICBncm91cC5jb250cm9sc1xuICAgICAgICAgIC5mb3JFYWNoKGNvbnRyb2wgPT4ge1xuICAgICAgICAgICAgY29udHJvbC5jb250cm9sVHlwZU1vZGVsID0gY29udHJvbFR5cGVNb2RlbHNcbiAgICAgICAgICAgICAgLmZpbmQoY3RtID0+IGN0bS5pZCA9PT0gY29udHJvbC5jb250cm9sVHlwZSlcbiAgICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBpZFxuICAgKiBAcmV0dXJuIHtWYXNDb250cm9sTW9kZWwgfCB1bmRlZmluZWR9XG4gICAqL1xuICBmaW5kQ29udHJvbE1vZGVsQnlJZChpZDogc3RyaW5nKTogVmFzQ29udHJvbE1vZGVsIHwgdW5kZWZpbmVkIHtcbiAgICBsZXQgcmVzdWx0O1xuICAgIHRoaXMuZ3JvdXBzXG4gICAgICAuZmluZChncm91cCA9PiBncm91cC5jb250cm9sc1xuICAgICAgICAuZmluZChjb250cm9sID0+IHtcbiAgICAgICAgICBpZiAoY29udHJvbC5pZCAhPT0gaWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmVzdWx0ID0gY29udHJvbDtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSkpO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAgICogQHJldHVybiB7VmFzQ29udHJvbE1vZGVsIHwgdW5kZWZpbmVkfVxuICAgKi9cbiAgZmluZENvbnRyb2xNb2RlbEJ5TmFtZShuYW1lOiBzdHJpbmcpOiBWYXNDb250cm9sTW9kZWwgfCB1bmRlZmluZWQge1xuICAgIGxldCByZXN1bHQ7XG4gICAgdGhpcy5ncm91cHNcbiAgICAgIC5maW5kKGdyb3VwID0+IGdyb3VwLmNvbnRyb2xzXG4gICAgICAgIC5maW5kKGNvbnRyb2wgPT4ge1xuICAgICAgICAgIGlmIChjb250cm9sLm5hbWUgIT09IG5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmVzdWx0ID0gY29udHJvbDtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSkpO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHJldHVybiB7QXJyYXk8QXJyYXk8c3RyaW5nPj59XG4gICAqL1xuICBnZXRDYW1lcmFDb250cm9sUGF0aHMoKTogQXJyYXk8QXJyYXk8c3RyaW5nPj4ge1xuICAgIGNvbnN0IHBhdGhzOiBzdHJpbmdbXVtdID0gW107XG4gICAgdGhpcy5ncm91cHMuZm9yRWFjaChncm91cCA9PiB7XG4gICAgICBncm91cC5jb250cm9scy5mb3JFYWNoKGNvbnRyb2wgPT4ge1xuICAgICAgICBpZiAoY29udHJvbC5jb250cm9sVHlwZU1vZGVsPy5uYW1lICE9PSAnY2FtZXJhJykge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBwYXRocy5wdXNoKFtncm91cC5uYW1lLCBjb250cm9sLnNhZmVOYW1lXSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICByZXR1cm4gcGF0aHM7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtWYXNKb2JNb2RlbH0gam9iTW9kZWxcbiAgICogQHJldHVybiB7QXJyYXk8e2lkOiBzdHJpbmcsIHZhbHVlOiBWYXNGaWVsZER0b1ZhbHVlfT59XG4gICAqL1xuICBnZXRWYWx1ZXNCeUNvbnRyb2xJZChcbiAgICBqb2JNb2RlbDogVmFzSm9iTW9kZWxcbiAgKTogQXJyYXk8e2lkOiBzdHJpbmcsIHZhbHVlOiBWYXNGaWVsZER0b1ZhbHVlIHwgdW5kZWZpbmVkfT4ge1xuICAgIGNvbnN0IGl0ZW1zOiBBcnJheTx7aWQ6IHN0cmluZywgdmFsdWU6IFZhc0ZpZWxkRHRvVmFsdWUgfCB1bmRlZmluZWR9PiA9IFtdO1xuICAgIHRoaXMuZ3JvdXBzXG4gICAgICAuZm9yRWFjaChncm91cCA9PiB7XG4gICAgICAgIGdyb3VwLmNvbnRyb2xzXG4gICAgICAgICAgLmZvckVhY2goY29udHJvbCA9PiB7XG4gICAgICAgICAgICBpdGVtcy5wdXNoKHtcbiAgICAgICAgICAgICAgaWQ6IGNvbnRyb2wuaWQsXG4gICAgICAgICAgICAgIHZhbHVlOiBqb2JNb2RlbC5nZXRWYWx1ZUJ5UGF0aChbZ3JvdXAubmFtZSwgY29udHJvbC5zYWZlTmFtZV0pXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIHJldHVybiBpdGVtcztcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJuIHtWYXNGb3JtRHRvfVxuICAgKi9cbiAgdG9EdG8oKTogVmFzRm9ybUR0byB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgY3JlYXRlZDogdGhpcy5jcmVhdGVkLFxuICAgICAgc2VydmVyQ3JlYXRlZDogdGhpcy5zZXJ2ZXJDcmVhdGVkLFxuICAgICAgY3JlYXRlZEJ5OiB0aGlzLmNyZWF0ZWRCeSxcbiAgICAgIG1vZGlmaWVkOiB0aGlzLm1vZGlmaWVkLFxuICAgICAgc2VydmVyTW9kaWZpZWQ6IHRoaXMuc2VydmVyTW9kaWZpZWQsXG4gICAgICBtb2RpZmllZEJ5OiB0aGlzLm1vZGlmaWVkQnksXG4gICAgICBhY2NvdW50OiB0aGlzLmFjY291bnQsXG4gICAgICBhY2Nlc3NHcm91cDogdGhpcy5hY2Nlc3NHcm91cCxcbiAgICAgIGpvYlR5cGU6IHRoaXMuam9iVHlwZSxcbiAgICAgIHRpdGxlOiB0aGlzLnRpdGxlLFxuICAgICAgZGVzY3JpcHRpb246IHRoaXMuZGVzY3JpcHRpb24sXG4gICAgICBncm91cHM6IHRoaXMuZ3JvdXBzLm1hcChncm91cCA9PiBncm91cC50b0R0bygpKSxcbiAgICB9O1xuICB9XG59XG5cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFzLWpvYi5kdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YXMtbGliL3NyYy9saWIvZW50aXR5L3Zhcy1qb2IuZHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYXNSZXN0cmljdGVkQWNjb3VudE9iamVjdER0byB9IGZyb20gJy4vdmFzLXJlc3RyaWN0ZWQtYWNjb3VudC1vYmplY3QuZHRvJztcbmltcG9ydCB7IFZhc0ZpZWxkRHRvVmFsdWUgfSBmcm9tICcuL3Zhcy1maWVsZC5kdG8nO1xuXG5leHBvcnQgaW50ZXJmYWNlIFZhc0pvYlN0YXRpY0R0byBleHRlbmRzIFZhc1Jlc3RyaWN0ZWRBY2NvdW50T2JqZWN0RHRvIHtcbiAgcmVmZXJlbmNlOiBzdHJpbmc7XG4gIGpvYkRhdGU6IHN0cmluZztcbiAgam9iU3RhdHVzOiBzdHJpbmc7XG4gIGpvYlR5cGU6IHN0cmluZztcbiAgYXNzaWduZWU6IHN0cmluZztcbiAgZm9ybUlkOiBzdHJpbmc7XG59XG5leHBvcnQgZGVjbGFyZSB0eXBlIFZhc0pvYkR0byA9IFZhc0pvYlN0YXRpY0R0byAmIFJlY29yZDxzdHJpbmcsIFZhc0ZpZWxkRHRvVmFsdWU+O1xuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFzLWpvYi5kdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YXMtbGliL3NyYy9saWIvZW50aXR5L3Zhcy1qb2IuZHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWYXNSZXN0cmljdGVkQWNjb3VudE9iamVjdER0byB9IGZyb20gJy4vdmFzLXJlc3RyaWN0ZWQtYWNjb3VudC1vYmplY3QuZHRvJztcbmltcG9ydCB7IFZhc0ZpZWxkRHRvVmFsdWUgfSBmcm9tICcuL3Zhcy1maWVsZC5kdG8nO1xuXG5leHBvcnQgaW50ZXJmYWNlIFZhc0pvYlN0YXRpY0R0byBleHRlbmRzIFZhc1Jlc3RyaWN0ZWRBY2NvdW50T2JqZWN0RHRvIHtcbiAgcmVmZXJlbmNlOiBzdHJpbmc7XG4gIGpvYkRhdGU6IHN0cmluZztcbiAgam9iU3RhdHVzOiBzdHJpbmc7XG4gIGpvYlR5cGU6IHN0cmluZztcbiAgYXNzaWduZWU6IHN0cmluZztcbiAgZm9ybUlkOiBzdHJpbmc7XG4gIHRpbWVab25lT2Zmc2V0OiBudW1iZXJcbn1cbmV4cG9ydCBkZWNsYXJlIHR5cGUgVmFzSm9iRHRvID0gVmFzSm9iU3RhdGljRHRvICYgUmVjb3JkPHN0cmluZywgVmFzRmllbGREdG9WYWx1ZT47XG4iXX0=