@ironcode/vas-lib 1.8.0-alpha.1 → 1.8.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/cjs/lib/control-value/index.d.ts +1 -0
  2. package/cjs/lib/control-value/index.d.ts.map +1 -1
  3. package/cjs/lib/control-value/index.js +1 -0
  4. package/cjs/lib/control-value/index.js.map +1 -1
  5. package/cjs/lib/control-value/vas-function-control-value.dto.d.ts +7 -0
  6. package/cjs/lib/control-value/vas-function-control-value.dto.d.ts.map +1 -0
  7. package/cjs/lib/control-value/vas-function-control-value.dto.js +3 -0
  8. package/cjs/lib/control-value/vas-function-control-value.dto.js.map +1 -0
  9. package/cjs/lib/controls-config/index.d.ts +1 -0
  10. package/cjs/lib/controls-config/index.d.ts.map +1 -1
  11. package/cjs/lib/controls-config/index.js +1 -0
  12. package/cjs/lib/controls-config/index.js.map +1 -1
  13. package/cjs/lib/controls-config/vas-function-control-config.dto.d.ts +6 -0
  14. package/cjs/lib/controls-config/vas-function-control-config.dto.d.ts.map +1 -0
  15. package/cjs/lib/controls-config/vas-function-control-config.dto.js +3 -0
  16. package/cjs/lib/controls-config/vas-function-control-config.dto.js.map +1 -0
  17. package/cjs/lib/entity/vas-control.model.d.ts +5 -4
  18. package/cjs/lib/entity/vas-control.model.d.ts.map +1 -1
  19. package/cjs/lib/entity/vas-control.model.js +2 -2
  20. package/cjs/lib/entity/vas-control.model.js.map +1 -1
  21. package/cjs/lib/entity/vas-field.dto.d.ts +5 -1
  22. package/cjs/lib/entity/vas-field.dto.d.ts.map +1 -1
  23. package/cjs/lib/entity/vas-field.dto.js.map +1 -1
  24. package/cjs/lib/entity/vas-job.model.d.ts.map +1 -1
  25. package/cjs/lib/entity/vas-job.model.js +3 -2
  26. package/cjs/lib/entity/vas-job.model.js.map +1 -1
  27. package/esm2020/lib/control-value/index.mjs +2 -1
  28. package/esm2020/lib/control-value/vas-function-control-value.dto.mjs +2 -0
  29. package/esm2020/lib/controls-config/index.mjs +2 -1
  30. package/esm2020/lib/controls-config/vas-function-control-config.dto.mjs +2 -0
  31. package/esm2020/lib/entity/vas-control.model.mjs +3 -3
  32. package/esm2020/lib/entity/vas-field.dto.mjs +1 -1
  33. package/esm2020/lib/entity/vas-job.model.mjs +4 -3
  34. package/fesm2015/ironcode-vas-lib.mjs +5 -4
  35. package/fesm2015/ironcode-vas-lib.mjs.map +1 -1
  36. package/fesm2020/ironcode-vas-lib.mjs +5 -4
  37. package/fesm2020/ironcode-vas-lib.mjs.map +1 -1
  38. package/lib/control-value/index.d.ts +1 -0
  39. package/lib/control-value/vas-function-control-value.dto.d.ts +6 -0
  40. package/lib/controls-config/index.d.ts +1 -0
  41. package/lib/controls-config/vas-function-control-config.dto.d.ts +5 -0
  42. package/lib/entity/vas-control.model.d.ts +5 -4
  43. package/lib/entity/vas-field.dto.d.ts +5 -1
  44. package/package.json +1 -1
@@ -1,2 +1,3 @@
1
1
  export * from './vas-camera-control-value.model';
2
+ export * from './vas-function-control-value.dto';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/control-value/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/control-value/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC"}
@@ -2,4 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./vas-camera-control-value.model"), exports);
5
+ tslib_1.__exportStar(require("./vas-function-control-value.dto"), exports);
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/control-value/index.ts"],"names":[],"mappings":";;;AAAA,2EAAiD","sourcesContent":["export * from './vas-camera-control-value.model';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/control-value/index.ts"],"names":[],"mappings":";;;AAAA,2EAAiD;AACjD,2EAAiD","sourcesContent":["export * from './vas-camera-control-value.model';\nexport * from './vas-function-control-value.dto';\n"]}
@@ -0,0 +1,7 @@
1
+ export interface VasFunctionControlValueDto {
2
+ overrideMode: boolean;
3
+ overrideValue: any;
4
+ evalValue: any;
5
+ value: any;
6
+ }
7
+ //# sourceMappingURL=vas-function-control-value.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vas-function-control-value.dto.d.ts","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/control-value/vas-function-control-value.dto.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,0BAA0B;IACzC,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,GAAG,CAAC;IACnB,SAAS,EAAE,GAAG,CAAC;IACf,KAAK,EAAE,GAAG,CAAC;CACZ"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=vas-function-control-value.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vas-function-control-value.dto.js","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/control-value/vas-function-control-value.dto.ts"],"names":[],"mappings":"","sourcesContent":["\nexport interface VasFunctionControlValueDto {\n overrideMode: boolean;\n overrideValue: any;\n evalValue: any;\n value: any;\n}\n"]}
@@ -1,4 +1,5 @@
1
1
  export * from './vas-control-config-direction.enum';
2
2
  export * from './vas-control-config.model';
3
+ export * from './vas-function-control-config.dto';
3
4
  export * from './vas-select-control-config.model';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/controls-config/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAA;AACnD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mCAAmC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/controls-config/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAA;AACnD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAA"}
@@ -3,5 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./vas-control-config-direction.enum"), exports);
5
5
  tslib_1.__exportStar(require("./vas-control-config.model"), exports);
6
+ tslib_1.__exportStar(require("./vas-function-control-config.dto"), exports);
6
7
  tslib_1.__exportStar(require("./vas-select-control-config.model"), exports);
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/controls-config/index.ts"],"names":[],"mappings":";;;AAAA,8EAAmD;AACnD,qEAA0C;AAC1C,4EAAiD","sourcesContent":["export * from './vas-control-config-direction.enum'\nexport * from './vas-control-config.model'\nexport * from './vas-select-control-config.model'\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/controls-config/index.ts"],"names":[],"mappings":";;;AAAA,8EAAmD;AACnD,qEAA0C;AAC1C,4EAAkD;AAClD,4EAAiD","sourcesContent":["export * from './vas-control-config-direction.enum'\nexport * from './vas-control-config.model'\nexport * from './vas-function-control-config.dto';\nexport * from './vas-select-control-config.model'\n"]}
@@ -0,0 +1,6 @@
1
+ export interface VasFunctionControlConfigDto {
2
+ code: string;
3
+ testData: Record<string, any>;
4
+ hidden: boolean;
5
+ }
6
+ //# sourceMappingURL=vas-function-control-config.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vas-function-control-config.dto.d.ts","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/controls-config/vas-function-control-config.dto.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,MAAM,EAAE,OAAO,CAAC;CACjB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=vas-function-control-config.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vas-function-control-config.dto.js","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/controls-config/vas-function-control-config.dto.ts"],"names":[],"mappings":"","sourcesContent":["\nexport interface VasFunctionControlConfigDto {\n code: string;\n testData: Record<string, any>;\n hidden: boolean;\n}\n"]}
@@ -1,6 +1,7 @@
1
1
  import { VasControlTypeModel } from './vas-control-type.model';
2
2
  import { VasControlDto } from './vas-control.dto';
3
3
  import { VasRestrictedAccountObjectModel } from './vas-restricted-account-object.model';
4
+ import { VasFieldDtoValue } from "./vas-field.dto";
4
5
  export declare type VasControlModelDefaultValueType = string | number | object;
5
6
  /**
6
7
  * ControlModel
@@ -37,7 +38,7 @@ export declare class VasControlModel extends VasRestrictedAccountObjectModel {
37
38
  * in the case of string, it maybe a json. This getter will return an
38
39
  * object if the value is a json string
39
40
  */
40
- get defaultValueDecoded(): VasControlModelDefaultValueType;
41
+ get defaultValueDecoded(): VasFieldDtoValue;
41
42
  /**
42
43
  * Returns the name of this control to be used in the report templates
43
44
  * i.e. fields.foo -> foo
@@ -58,10 +59,10 @@ export declare class VasControlModel extends VasRestrictedAccountObjectModel {
58
59
  */
59
60
  static fromDto(dto: Partial<VasControlDto>): VasControlModel;
60
61
  /**
61
- * @param {string} value
62
- * @return {VasControlModelDefaultValueType}
62
+ * @param {any} value the value to be parsed
63
+ * @return {VasFieldDtoValue} the parsed value
63
64
  */
64
- protected parseMaybeJson(value: string | number | object): VasControlModelDefaultValueType;
65
+ protected parseMaybeJson(value: any): VasFieldDtoValue;
65
66
  /**
66
67
  * @return {VasControlDto}
67
68
  */
@@ -1 +1 @@
1
- {"version":3,"file":"vas-control.model.d.ts","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-control.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD,OAAO,EAAE,+BAA+B,EAAE,MAAM,uCAAuC,CAAC;AAExF,MAAM,CAAC,OAAO,MAAM,+BAA+B,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAE/E;;GAEG;AACH,qBAAa,eAAgB,SAAQ,+BAA+B;IAIhD,EAAE,EAAE,MAAM;IACV,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,MAAM;IACrB,SAAS,EAAE,MAAM;IACjB,QAAQ,EAAE,MAAM;IAChB,cAAc,EAAE,MAAM;IACtB,UAAU,EAAE,MAAM;IAClB,aAAa,EAAE,MAAM;IACrB,cAAc,EAAE,MAAM;IACtB,OAAO,EAAE,MAAM;IACf,WAAW,EAAE,MAAM;IAC5B,WAAW,EAAE,mBAAmB;IAChC,KAAK,EAAE,MAAM;IACb,UAAU,EAAE,MAAM,EAAE;IACpB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,OAAO;IACjB,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,MAAM;IACnB,YAAY,EAAE,MAAM;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAC3B,gBAAgB,EAAE,MAAM;IACxB,aAAa,EAAE,OAAO;IAzB/B,SAAS,CAAC,aAAa,EAAE,MAAM,CAAM;gBAGnB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EAC5B,WAAW,EAAE,mBAAmB,EAChC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAAE,EACpB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,OAAO,EACjB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,OAAO;IAsB/B,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED;;;;OAIG;IACH,IAAI,mBAAmB,IAAI,+BAA+B,CAiBzD;IAED;;;;OAIG;IACH,IAAI,kBAAkB,IAAI,MAAM,CAE/B;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,IAAI,eAAe;IAO/B;;;OAGG;WACa,OAAO,CACrB,GAAG,EAAE,OAAO,CAAC,aAAa,CAAC,GAC1B,eAAe;IAwClB;;;OAGG;IACH,SAAS,CAAC,cAAc,CACtB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAC9B,+BAA+B;IAYlC;;OAEG;IACH,KAAK,IAAI,aAAa;IA4Bb,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAgBtD"}
1
+ {"version":3,"file":"vas-control.model.d.ts","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-control.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD,OAAO,EAAE,+BAA+B,EAAE,MAAM,uCAAuC,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,CAAC,OAAO,MAAM,+BAA+B,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAE/E;;GAEG;AACH,qBAAa,eAAgB,SAAQ,+BAA+B;IAIhD,EAAE,EAAE,MAAM;IACV,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,MAAM;IACrB,SAAS,EAAE,MAAM;IACjB,QAAQ,EAAE,MAAM;IAChB,cAAc,EAAE,MAAM;IACtB,UAAU,EAAE,MAAM;IAClB,aAAa,EAAE,MAAM;IACrB,cAAc,EAAE,MAAM;IACtB,OAAO,EAAE,MAAM;IACf,WAAW,EAAE,MAAM;IAC5B,WAAW,EAAE,mBAAmB;IAChC,KAAK,EAAE,MAAM;IACb,UAAU,EAAE,MAAM,EAAE;IACpB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,OAAO;IACjB,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,MAAM;IACnB,YAAY,EAAE,MAAM;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAC3B,gBAAgB,EAAE,MAAM;IACxB,aAAa,EAAE,OAAO;IAzB/B,SAAS,CAAC,aAAa,EAAE,MAAM,CAAM;gBAGnB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EAC5B,WAAW,EAAE,mBAAmB,EAChC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAAE,EACpB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,OAAO,EACjB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,OAAO;IAsB/B,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED;;;;OAIG;IACH,IAAI,mBAAmB,IAAI,gBAAgB,CAiB1C;IAED;;;;OAIG;IACH,IAAI,kBAAkB,IAAI,MAAM,CAE/B;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,IAAI,eAAe;IAO/B;;;OAGG;WACa,OAAO,CACrB,GAAG,EAAE,OAAO,CAAC,aAAa,CAAC,GAC1B,eAAe;IAwClB;;;OAGG;IACH,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,GAAG,gBAAgB;IAYtD;;OAEG;IACH,KAAK,IAAI,aAAa;IA4Bb,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAgBtD"}
@@ -111,8 +111,8 @@ class VasControlModel extends vas_restricted_account_object_model_1.VasRestricte
111
111
  dto.id || '', dto.created || '', dto.serverCreated || '', dto.createdBy || '', dto.modified || '', dto.serverModified || '', dto.modifiedBy || '', dto.createdByName || '', dto.modifiedByName || '', dto.account || '', dto.accessGroup || '', handleControlType(dto.controlType), dto.group || '', dto.validators || [], dto.name || '', dto.title || '', dto.linkable || false, dto.sequence || 0, dto.description || '', dto.defaultValue || '', JSON.parse(dto.config || '{}'), dto.descriptionImage || '', dto.portalEnabled || false);
112
112
  }
113
113
  /**
114
- * @param {string} value
115
- * @return {VasControlModelDefaultValueType}
114
+ * @param {any} value the value to be parsed
115
+ * @return {VasFieldDtoValue} the parsed value
116
116
  */
117
117
  parseMaybeJson(value) {
118
118
  if (typeof value !== 'string') {
@@ -1 +1 @@
1
- {"version":3,"file":"vas-control.model.js","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-control.model.ts"],"names":[],"mappings":"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","sourcesContent":["import { VasControlTypeModel } from './vas-control-type.model';\nimport { VasControlDto } from './vas-control.dto';\nimport { UUID } from 'angular2-uuid';\nimport { VasControlTypeDto } from './vas-control-type.dto';\nimport { VasRestrictedAccountObjectModel } from './vas-restricted-account-object.model';\n\nexport declare type VasControlModelDefaultValueType = string | number | object;\n\n/**\n * ControlModel\n */\nexport class VasControlModel extends VasRestrictedAccountObjectModel {\n protected controlTypeId: string = '';\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 override createdByName: string,\n public override modifiedByName: string,\n public override account: string,\n public override accessGroup: string,\n public controlType: VasControlTypeModel,\n public group: string,\n public validators: string[],\n public name: string,\n public title: string,\n public linkable: boolean,\n public sequence: number,\n public description: string,\n public defaultValue: string,\n public config: Record<string, any>,\n public descriptionImage: string,\n public portalEnabled: boolean\n ) {\n super(\n id,\n created,\n serverCreated,\n createdBy,\n modified,\n serverModified,\n modifiedBy,\n createdByName,\n modifiedByName,\n account,\n accessGroup\n );\n if (typeof controlType === 'string') {\n this.controlTypeId = controlType;\n } else {\n this.controlTypeId = controlType.id;\n }\n }\n\n get controlTypeName(): string {\n return this.controlType?.name || '';\n }\n\n /**\n * The defaultValue property is returned from the api as a string or number,\n * in the case of string, it maybe a json. This getter will return an\n * object if the value is a json string\n */\n get defaultValueDecoded(): VasControlModelDefaultValueType {\n if (this.defaultValue === '' && this.controlType) {\n switch (this.controlTypeName) {\n case 'branch':\n case 'camera':\n case 'contact': {\n return {};\n }\n case 'toggle': {\n return {\n checked: false, comment: ''\n };\n }\n }\n }\n\n return this.parseMaybeJson(this.defaultValue);\n }\n\n /**\n * Returns the name of this control to be used in the report templates\n * i.e. fields.foo -> foo\n * @return {string}\n */\n get reportTemplateName(): string {\n return this.name.replace(/^fields\\./, '');\n }\n\n /**\n * @return {string}\n */\n get safeName(): string {\n return this.name;\n }\n\n /**\n * @return {VasControlModel}\n */\n static empty(): VasControlModel {\n return VasControlModel.fromDto({\n // eslint-disable-next-line new-cap\n id: UUID.UUID()\n });\n }\n\n /**\n * @param {VasControlDto} dto\n * @return {VasControlModel}\n */\n static override fromDto(\n dto: Partial<VasControlDto>\n ): VasControlModel {\n\n const handleControlType = (c: string | VasControlTypeDto | undefined) => {\n if (c === undefined) {\n return VasControlTypeModel.empty();\n } else if (typeof c === 'string') {\n return VasControlTypeModel.fromDto({id: c});\n } else {\n return VasControlTypeModel.fromDto(c);\n }\n };\n\n return new VasControlModel(\n // eslint-disable-next-line new-cap\n dto.id || '',\n dto.created || '',\n dto.serverCreated || '',\n dto.createdBy || '',\n dto.modified || '',\n dto.serverModified || '',\n dto.modifiedBy || '',\n dto.createdByName || '',\n dto.modifiedByName || '',\n dto.account || '',\n dto.accessGroup || '',\n handleControlType(dto.controlType) as any,\n dto.group || '',\n dto.validators || [],\n dto.name || '',\n dto.title || '',\n dto.linkable || false,\n dto.sequence || 0,\n dto.description || '',\n dto.defaultValue || '',\n JSON.parse(dto.config || '{}'),\n dto.descriptionImage || '',\n dto.portalEnabled || false\n );\n }\n\n /**\n * @param {string} value\n * @return {VasControlModelDefaultValueType}\n */\n protected parseMaybeJson(\n value: string | number | object\n ): VasControlModelDefaultValueType {\n if (typeof value !== 'string') {\n return value;\n }\n\n try {\n return JSON.parse(value);\n } catch (e) {\n return value;\n }\n }\n\n /**\n * @return {VasControlDto}\n */\n toDto(): VasControlDto {\n return {\n id: this.id,\n created: this.created,\n serverCreated: this.serverCreated,\n createdBy: this.createdBy,\n modified: this.modified,\n serverModified: this.serverModified,\n modifiedBy: this.modifiedBy,\n createdByName: this.createdByName,\n modifiedByName: this.modifiedByName,\n account: this.account,\n accessGroup: this.accessGroup,\n controlType: this.controlType.toDto(),\n group: this.group,\n validators: this.validators,\n name: this.name,\n title: this.title,\n linkable: this.linkable,\n sequence: this.sequence,\n description: this.description,\n defaultValue: this.defaultValue,\n config: JSON.stringify(this.config),\n descriptionImage: this.descriptionImage,\n portalEnabled: this.portalEnabled\n };\n }\n\n override toApiDto(options?: any): Record<string, any> {\n return {\n ...super.toApiDto(),\n title: this.title || '~',\n name: this.name || '~',\n portalEnabled: this.portalEnabled,\n sequence: this.sequence,\n description: this.description || '~',\n defaultValue: this.defaultValue,\n config: JSON.stringify(this.config),\n controlType: this.controlType.id,\n group: this.group,\n validators: this.validators,\n linkable: this.linkable\n };\n }\n}\n\n"]}
1
+ {"version":3,"file":"vas-control.model.js","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-control.model.ts"],"names":[],"mappings":"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","sourcesContent":["import { VasControlTypeModel } from './vas-control-type.model';\nimport { VasControlDto } from './vas-control.dto';\nimport { UUID } from 'angular2-uuid';\nimport { VasControlTypeDto } from './vas-control-type.dto';\nimport { VasRestrictedAccountObjectModel } from './vas-restricted-account-object.model';\nimport { VasFieldDtoValue } from \"./vas-field.dto\";\n\nexport declare type VasControlModelDefaultValueType = string | number | object;\n\n/**\n * ControlModel\n */\nexport class VasControlModel extends VasRestrictedAccountObjectModel {\n protected controlTypeId: string = '';\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 override createdByName: string,\n public override modifiedByName: string,\n public override account: string,\n public override accessGroup: string,\n public controlType: VasControlTypeModel,\n public group: string,\n public validators: string[],\n public name: string,\n public title: string,\n public linkable: boolean,\n public sequence: number,\n public description: string,\n public defaultValue: string,\n public config: Record<string, any>,\n public descriptionImage: string,\n public portalEnabled: boolean\n ) {\n super(\n id,\n created,\n serverCreated,\n createdBy,\n modified,\n serverModified,\n modifiedBy,\n createdByName,\n modifiedByName,\n account,\n accessGroup\n );\n if (typeof controlType === 'string') {\n this.controlTypeId = controlType;\n } else {\n this.controlTypeId = controlType.id;\n }\n }\n\n get controlTypeName(): string {\n return this.controlType?.name || '';\n }\n\n /**\n * The defaultValue property is returned from the api as a string or number,\n * in the case of string, it maybe a json. This getter will return an\n * object if the value is a json string\n */\n get defaultValueDecoded(): VasFieldDtoValue {\n if (this.defaultValue === '' && this.controlType) {\n switch (this.controlTypeName) {\n case 'branch':\n case 'camera':\n case 'contact': {\n return {};\n }\n case 'toggle': {\n return {\n checked: false, comment: ''\n };\n }\n }\n }\n\n return this.parseMaybeJson(this.defaultValue);\n }\n\n /**\n * Returns the name of this control to be used in the report templates\n * i.e. fields.foo -> foo\n * @return {string}\n */\n get reportTemplateName(): string {\n return this.name.replace(/^fields\\./, '');\n }\n\n /**\n * @return {string}\n */\n get safeName(): string {\n return this.name;\n }\n\n /**\n * @return {VasControlModel}\n */\n static empty(): VasControlModel {\n return VasControlModel.fromDto({\n // eslint-disable-next-line new-cap\n id: UUID.UUID()\n });\n }\n\n /**\n * @param {VasControlDto} dto\n * @return {VasControlModel}\n */\n static override fromDto(\n dto: Partial<VasControlDto>\n ): VasControlModel {\n\n const handleControlType = (c: string | VasControlTypeDto | undefined) => {\n if (c === undefined) {\n return VasControlTypeModel.empty();\n } else if (typeof c === 'string') {\n return VasControlTypeModel.fromDto({id: c});\n } else {\n return VasControlTypeModel.fromDto(c);\n }\n };\n\n return new VasControlModel(\n // eslint-disable-next-line new-cap\n dto.id || '',\n dto.created || '',\n dto.serverCreated || '',\n dto.createdBy || '',\n dto.modified || '',\n dto.serverModified || '',\n dto.modifiedBy || '',\n dto.createdByName || '',\n dto.modifiedByName || '',\n dto.account || '',\n dto.accessGroup || '',\n handleControlType(dto.controlType) as any,\n dto.group || '',\n dto.validators || [],\n dto.name || '',\n dto.title || '',\n dto.linkable || false,\n dto.sequence || 0,\n dto.description || '',\n dto.defaultValue || '',\n JSON.parse(dto.config || '{}'),\n dto.descriptionImage || '',\n dto.portalEnabled || false\n );\n }\n\n /**\n * @param {any} value the value to be parsed\n * @return {VasFieldDtoValue} the parsed value\n */\n protected parseMaybeJson(value: any): VasFieldDtoValue {\n if (typeof value !== 'string') {\n return value;\n }\n\n try {\n return JSON.parse(value);\n } catch (e) {\n return value;\n }\n }\n\n /**\n * @return {VasControlDto}\n */\n toDto(): VasControlDto {\n return {\n id: this.id,\n created: this.created,\n serverCreated: this.serverCreated,\n createdBy: this.createdBy,\n modified: this.modified,\n serverModified: this.serverModified,\n modifiedBy: this.modifiedBy,\n createdByName: this.createdByName,\n modifiedByName: this.modifiedByName,\n account: this.account,\n accessGroup: this.accessGroup,\n controlType: this.controlType.toDto(),\n group: this.group,\n validators: this.validators,\n name: this.name,\n title: this.title,\n linkable: this.linkable,\n sequence: this.sequence,\n description: this.description,\n defaultValue: this.defaultValue,\n config: JSON.stringify(this.config),\n descriptionImage: this.descriptionImage,\n portalEnabled: this.portalEnabled\n };\n }\n\n override toApiDto(options?: any): Record<string, any> {\n return {\n ...super.toApiDto(),\n title: this.title || '~',\n name: this.name || '~',\n portalEnabled: this.portalEnabled,\n sequence: this.sequence,\n description: this.description || '~',\n defaultValue: this.defaultValue,\n config: JSON.stringify(this.config),\n controlType: this.controlType.id,\n group: this.group,\n validators: this.validators,\n linkable: this.linkable\n };\n }\n}\n"]}
@@ -1,7 +1,10 @@
1
1
  import { VasJobDataDto } from './vas-job-data.dto';
2
2
  import { VasFileDto } from './vas-file.dto';
3
3
  import { GeoLocation } from '../model/geo-location';
4
- export declare type VasFieldDtoValue = string | number | boolean | undefined | GeoLocation | Array<object | string | number | boolean | VasFileDto> | Record<string, object | string | number | boolean | Array<object | string | number | boolean | VasFileDto>>;
4
+ import { VasFunctionControlValueDto } from '../control-value';
5
+ import { VasCameraControlValueModel } from '../control-value';
6
+ declare type FieldValueType = string | number | boolean | null | GeoLocation | Array<object | string | number | boolean | VasFileDto> | Record<string, any> | VasCameraControlValueModel | VasFunctionControlValueDto;
7
+ export declare type VasFieldDtoValue = FieldValueType | Record<string, FieldValueType>;
5
8
  export interface VasFieldDto extends VasJobDataDto {
6
9
  control: string;
7
10
  fieldJobPointers: Array<string>;
@@ -11,4 +14,5 @@ export interface VasFieldDto extends VasJobDataDto {
11
14
  controlTitle: string;
12
15
  controlTypeName: string;
13
16
  }
17
+ export {};
14
18
  //# sourceMappingURL=vas-field.dto.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vas-field.dto.d.ts","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-field.dto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,CAAC,OAAO,MAAM,gBAAgB,GAClC,MAAM,GACJ,MAAM,GACN,OAAO,GACP,SAAS,GACT,WAAW,GACX,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC,GACtD,MAAM,CAAC,MAAM,EAEf,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC;AAE/F,MAAM,WAAW,WAAY,SAAQ,aAAa;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,KAAK,EAAE,gBAAgB,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB"}
1
+ {"version":3,"file":"vas-field.dto.d.ts","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-field.dto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,MAAM,cAAc,GACzB,MAAM,GACJ,MAAM,GACN,OAAO,GACP,IAAI,GACJ,WAAW,GACX,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC,GACtD,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACnB,0BAA0B,GAC1B,0BAA0B,CAC3B;AAEH,MAAM,CAAC,OAAO,MAAM,gBAAgB,GAClC,cAAc,GACZ,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAC/B;AAEH,MAAM,WAAW,WAAY,SAAQ,aAAa;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,KAAK,EAAE,gBAAgB,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"vas-field.dto.js","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-field.dto.ts"],"names":[],"mappings":"","sourcesContent":["import { VasJobDataDto } from './vas-job-data.dto';\nimport { VasFileDto } from './vas-file.dto';\nimport { GeoLocation } from '../model/geo-location';\n\nexport declare type VasFieldDtoValue =\n string\n | number\n | boolean\n | undefined\n | GeoLocation\n | Array<object | string | number | boolean | VasFileDto>\n | Record<string,\n // eslint-disable-next-line max-len\n object | string | number | boolean | Array<object | string | number | boolean | VasFileDto>>;\n\nexport interface VasFieldDto extends VasJobDataDto {\n control: string;\n fieldJobPointers: Array<string>;\n value: VasFieldDtoValue;\n version: number;\n controlName: string;\n controlTitle: string;\n controlTypeName: string;\n}\n"]}
1
+ {"version":3,"file":"vas-field.dto.js","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-field.dto.ts"],"names":[],"mappings":"","sourcesContent":["import { VasJobDataDto } from './vas-job-data.dto';\nimport { VasFileDto } from './vas-file.dto';\nimport { GeoLocation } from '../model/geo-location';\nimport { VasFunctionControlValueDto } from '../control-value';\nimport { VasCameraControlValueModel } from '../control-value';\n\ndeclare type FieldValueType =\n string\n | number\n | boolean\n | null\n | GeoLocation\n | Array<object | string | number | boolean | VasFileDto>\n | Record<string, any>\n | VasCameraControlValueModel\n | VasFunctionControlValueDto\n ;\n\nexport declare type VasFieldDtoValue =\n FieldValueType\n | Record<string, FieldValueType>\n ;\n\nexport interface VasFieldDto extends VasJobDataDto {\n control: string;\n fieldJobPointers: Array<string>;\n value: VasFieldDtoValue;\n version: number;\n controlName: string;\n controlTitle: string;\n controlTypeName: string;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"vas-job.model.d.ts","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-job.model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vas-job.model.d.ts","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-job.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAIvD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEhE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,+BAA+B,EAAE,MAAM,uCAAuC,CAAC;AACxF,OAAO,EAAE,WAAW,EAAuB,MAAM,uBAAuB,CAAC;AAGzE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,CAAC,OAAO,WAAW,2BAA2B;IAClD,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CACjE;AAED,MAAM,WAAW,kBAAkB;IAKjC,cAAc,EAAE,MAAM,CAAC;IAMvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;CAClF;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,+BAA+B;IAG5C,EAAE,EAAE,MAAM;IACV,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,MAAM;IACrB,SAAS,EAAE,MAAM;IACjB,QAAQ,EAAE,MAAM;IAChB,cAAc,EAAE,MAAM;IACtB,UAAU,EAAE,MAAM;IAClB,aAAa,EAAE,MAAM;IACrB,cAAc,EAAE,MAAM;IACtB,OAAO,EAAE,MAAM;IACf,WAAW,EAAE,MAAM;IAC5B,SAAS,EAAE,MAAM;IACjB,OAAO,EAAE,MAAM;IACf,SAAS,EAAE,MAAM;IACjB,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,MAAM;IAClB,MAAM,EAAE,MAAM;IACd,cAAc,EAAE,MAAM;IACtB,aAAa,EAAE,MAAM;IACrB,aAAa,EAAE,MAAM;IACrB,OAAO,EAAE,MAAM;IACf,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC;IAC1B,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC;IACxB,oBAAoB,EAAE,MAAM;IAC5B,qBAAqB,EAAE,MAAM;IAC7B,WAAW,EAAE,WAAW;gBAzBf,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EAC5B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,EAC1B,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,EACxB,oBAAoB,EAAE,MAAM,EAC5B,qBAAqB,EAAE,MAAM,EAC7B,WAAW,EAAE,WAAW;IAiBjC;;;OAGG;IACH,IAAI,KAAK,IAAI,2BAA2B,CAEvC;IAED;;;OAGG;IACH,IAAI,iBAAiB,IAAI,KAAK,CAAC,MAAM,CAAC,CAKrC;IAED;;OAEG;IACH,IAAI,gBAAgB,IAAI,KAAK,CAAC,MAAM,CAAC,CAEpC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,IAAI,WAAW;WA+BX,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,WAAW;IAuC7D;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CACnB,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,EACvB,IAAI,EAAE,UAAU,GACf,WAAW;IA4Cd;;;OAGG;IACH,SAAS,CAAC,SAAS,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAYpE;;;;;;;;OAQG;IACH,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAe9C;;;;;;OAMG;IACH,oBAAoB,CAClB,SAAS,EAAE,YAAY,GACtB;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;IA6CrC;;;;;;;OAOG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,UAAO,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAmBrE;;OAEG;IACH,cAAc,CAAC,CAAC,SAAS,gBAAgB,EACvC,IAAI,GAAE,MAAM,EAAO,GAClB,CAAC,GAAG,SAAS;IAIhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsDG;IACH,aAAa,CACX,SAAS,EAAE,YAAY,EACvB,iBAAiB,GAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAA6B,EAClE,YAAY,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,GAC3B,IAAI;IAkCP;;;;;;;;;;;;;;;;OAgBG;IACH,cAAc,CAAC,KAAK,EAAE,gBAAgB,EAAE,IAAI,GAAE,MAAM,EAAO,GAAG,IAAI;IAyBlE;;;OAGG;IACI,KAAK,CAAC,UAAU,UAAQ,GAAG,SAAS;IAwC3C;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,WAAW,CACT,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,kBAER,GACA,MAAM;IA0ET;;OAEG;IACM,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CAc/D"}
@@ -114,7 +114,7 @@ class VasJobModel extends vas_restricted_account_object_model_1.VasRestrictedAcc
114
114
  .forEach(group => {
115
115
  group.controls.forEach(control => {
116
116
  (fields)[control.reportTemplateName] =
117
- this.getValueByPath([group.name, control.name]);
117
+ this.getValueByPath([group.name, control.name]) || null;
118
118
  });
119
119
  });
120
120
  return fields;
@@ -135,7 +135,8 @@ class VasJobModel extends vas_restricted_account_object_model_1.VasRestrictedAcc
135
135
  Object
136
136
  .keys(this.$this[groupName])
137
137
  .forEach(controlName => {
138
- fields[controlName] = this.getValueByPath([groupName, controlName]);
138
+ fields[controlName] =
139
+ this.getValueByPath([groupName, controlName]) || null;
139
140
  });
140
141
  }, {});
141
142
  this.fields.forEach(field => fields[field.controlName] = field.value);
@@ -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 { isFileDto, VasFileDto } from './vas-file.dto';\nimport { UUID } from 'angular2-uuid';\nimport moment from 'moment';\nimport { getValueByPath } from '../utils/get-value-by-path';\nimport { VasBaseDto } from './vas-base.dto';\nimport { VasFieldDto, VasFieldDtoValue } from './vas-field.dto';\nimport { VasFieldModel } from './vas-field.model';\nimport { VasFormModel } from './vas-form.model';\nimport { VasJobDto } from './vas-job.dto';\nimport { VasRestrictedAccountObjectModel } from './vas-restricted-account-object.model';\nimport { GeoLocation, getEmptyGeoLocation } from '../model/geo-location';\nimport { isCameraControlValueV1, VasCameraControlValueModel } from '../control-value/vas-camera-control-value.model';\nimport { isArrayString } from '../utils/is-array-string';\nimport { VasFormDto } from './vas-form.dto';\n\nexport declare interface VasJobModelDynamicInterface {\n [s: string]: string | number | Record<string, VasFieldDtoValue>;\n}\n\nexport interface ParseSyntaxOptions {\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 timeZoneOffset: number,\n // this dictionary can be passed in to contain other objects to be referenced\n // in the syntax. For example if we have {job.foo} this will reference the\n // job's `foo` property, however if we have \"reportLayout.title\" this will\n // expect to find a property of `objects` called `reportLayout` which will\n // have a property called `title`\n objects?: Record<string, Partial<VasBaseDto> | Record<string, VasFieldDtoValue>>;\n}\n\n/**\n * JobModel\n */\nexport class VasJobModel extends VasRestrictedAccountObjectModel {\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 override createdByName: string,\n public override modifiedByName: string,\n public override account: string,\n public override accessGroup: string,\n public reference: string,\n public jobDate: string,\n public jobStatus: string,\n public jobType: string,\n public assigneeId: string,\n public formId: string,\n public timeZoneOffset: number,\n public pendingFields: number,\n public childModified: string,\n public version: number,\n public fields: Array<VasFieldDto>,\n public files: Array<VasFileDto>,\n public createdByDisplayName: string,\n public modifiedByDisplayName: string,\n public geoLocation: GeoLocation\n ) {\n super(\n id,\n created,\n serverCreated,\n createdBy,\n modified,\n serverModified,\n modifiedBy,\n createdByName,\n modifiedByName,\n account,\n accessGroup\n );\n }\n\n /**\n * Returns this with the dynamic interface\n * @return {VasJobModelDynamicInterface}\n */\n get $this(): VasJobModelDynamicInterface {\n return this as any;\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 the list of properties of the Job type\n */\n get staticProperties(): Array<string> {\n return Object.getOwnPropertyNames(VasJobModel.empty());\n }\n\n /**\n * @return {VasJobModel}\n */\n static empty(): VasJobModel {\n return new VasJobModel(\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n moment().utcOffset(),\n 0,\n '',\n 0,\n [],\n [],\n '',\n '',\n getEmptyGeoLocation()\n );\n }\n\n static override fromDto(dto: Partial<VasJobDto>): VasJobModel {\n const model = new VasJobModel(\n dto.id || '',\n dto.created || '',\n dto.serverCreated || '',\n dto.createdBy || '',\n dto.modified || '',\n dto.serverModified || '',\n dto.modifiedBy || '',\n dto.createdByName || '',\n dto.modifiedByName || '',\n dto.account || '',\n dto.accessGroup || '',\n dto.reference || '',\n dto.jobDate || '',\n dto.jobStatus || '',\n dto.jobType || '',\n dto.assigneeId || '',\n dto.formId || '',\n dto.timeZoneOffset || moment().utcOffset(),\n dto.pendingFields || 0,\n dto.childModified || '',\n dto.version || 0,\n dto.fields || [],\n dto.files || [],\n dto.createdByDisplayName || '',\n dto.modifiedByDisplayName || '',\n dto.geoLocation || getEmptyGeoLocation()\n );\n const emptyKeys = model.staticProperties;\n Object\n .keys(dto)\n .filter(key => emptyKeys.indexOf(key) === -1)\n .forEach((key: string) =>\n model.$this[key] = (dto as VasJobModelDynamicInterface)[key]\n );\n return model;\n }\n\n /**\n * This method will instantiate a new JobModel. The difference with this\n * method of instantiation is that we are coming from a relation frame i.e.\n * the job has a list of {@link VasFieldDto} instead of a Job document.\n *\n */\n static fromRelational(\n dto: Partial<VasJobDto>,\n form: VasFormDto\n ): VasJobModel {\n const model = new VasJobModel(\n dto.id || '',\n dto.created || '',\n dto.serverCreated || '',\n dto.createdBy || '',\n dto.modified || '',\n dto.serverModified || '',\n dto.modifiedBy || '',\n dto.createdByName || '',\n dto.modifiedByName || '',\n dto.account || '',\n dto.accessGroup || '',\n dto.reference || '',\n dto.jobDate || '',\n dto.jobStatus || '',\n dto.jobType || '',\n dto.assigneeId || '',\n dto.formId || '',\n dto.timeZoneOffset || moment().utcOffset(),\n dto.pendingFields || 0,\n dto.childModified || '',\n dto.version || 0,\n dto.fields || [],\n dto.files || [],\n dto.createdByDisplayName || '',\n dto.modifiedByDisplayName || '',\n dto.geoLocation || getEmptyGeoLocation()\n );\n\n form.groups\n .forEach(group => {\n group.controls\n .forEach(control => {\n const field = dto.fields?.find(f => f.control === control.id);\n if (!field) {\n return;\n }\n model.getGroup(group.name)[control.name] = field.value;\n });\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 * Will return an object whose keys are the names of all fields in the job.\n * This method is similar to `getFields` except that this method will only\n * return values where a value was set, as opposed to `getFields` which will\n * return a value for every control even if not value was set, because it uses\n * the form to drive the logic. Note also this method will return values for\n * any Fields in the fields array.\n * @return {Record<string, VasFieldDtoValue>}\n */\n getFields2(): Record<string, VasFieldDtoValue> {\n let fields: { [key: string]: VasFieldDtoValue } = {};\n this.dynamicProperties\n .forEach((groupName) => {\n Object\n .keys(this.$this[groupName])\n .forEach(controlName => {\n fields[controlName] = this.getValueByPath([groupName, controlName]);\n });\n }, {});\n this.fields.forEach(field => fields[field.controlName] = field.value);\n return fields;\n }\n\n /**\n * Returns an object describing how many attachments were added to this job\n * (camera controls and files), and how many have not been uploaded yet.\n *\n * @param formModel instance of {@link VasFormModel} that was used when the\n * job was created\n */\n getFilesUploadStatus(\n formModel: VasFormModel\n ): { pending: number; total: number } {\n\n const pathsWithValue: Array<Array<string>> = formModel\n .getCameraControlPaths()\n .map(path => {\n const value: VasFileDto | VasCameraControlValueModel =\n this.getValueByPath(path) as any;\n if (value && !!value.id) {\n return path;\n }\n return null;\n })\n .filter(path => path !== null ? path : null)\n .filter(isArrayString);\n\n let total = pathsWithValue.length;\n\n total += this.files.length;\n\n // calculate the number of camera images still to upload\n let pending = pathsWithValue\n .map(path => this.getValueByPath(path) as any)\n .map((value: VasFileDto | VasCameraControlValueModel) => {\n if (isFileDto(value)) {\n return value.id && value.status !== 'COMPLETE';\n } else if (isCameraControlValueV1(value)) {\n // if url is not set, it hasn't been uploaded\n return value.id && !value.url;\n }\n return false;\n })\n .filter(hasUploaded => hasUploaded)\n .length;\n\n // add total from files that are pending\n pending += this.files\n .filter(value => value.status !== 'COMPLETE')\n .length;\n\n return {\n pending,\n total\n };\n }\n\n /**\n * This method will return the dynamic property from the JobModel that\n * represent a group (from a form).\n *\n * @param name the name of the group\n * @param init if true (default) and group is not found, initialise an empty\n * group, otherwise throw an error\n */\n getGroup(name: string, init = true): Record<string, VasFieldDtoValue> {\n let prop;\n if (this.staticProperties.includes(name)) {\n throw Error(`invalid group name ${name}, not a dynamic property`);\n } else if (this.$this[name] === undefined) {\n if (init) {\n prop = this.$this[name] = {};\n } else {\n throw Error(`invalid group name ${name}, not found`);\n }\n } else {\n prop = this.$this[name];\n if (typeof prop !== 'object') {\n throw Error(`invalid group name ${name}, not an object`);\n }\n }\n return prop;\n }\n\n /**\n * @param path path segments\n */\n getValueByPath<T extends VasFieldDtoValue>(\n path: string[] = []\n ): T | undefined {\n return getValueByPath(path, this.$this);\n }\n\n /**\n * In order to understand why we need this method it is important to\n * understand that within the system, Jobs can be represented in one of two\n * ways, document and relational.\n *\n * The important distinction is how values submitted by a form are stored.\n *\n * Jobs stored as documents (JSON objects) will store user values, as dynamic\n * properties of the document.\n *\n * Whereas, Jobs stored as relational, will store user values in an array of\n * {@link VasFieldDto} objects.\n *\n * Depending on where we are in the system, either one of these approaches can\n * be more useful than the other.\n *\n * This method, assumes that the JobModel has been instantiated from a\n * document representation, and serves to hydrate the fields array. In order\n * to achieve this, knowledge of the {@link VasFormDto} that created the job\n * is required.\n *\n *\n * Job in document representation\n * {\n * id: <guid>,\n * reference: \"something\"\n * <other static job properties>...\n * foo: {\n * bar: \"value\"\n * }\n * }\n *\n * Job in relational representation\n * {\n * id: <guid>,\n * reference: \"something\"\n * <other static job properties>...\n * <will not have dynamic properties>...\n * fields: [\n * {\n * id: <guid>,\n * <other field properties>,\n * value: \"value\"\n * }\n * ]\n * }\n *\n *\n * @param formModel the VasFormModel that was used to create the job\n * @param controlFieldIdMap This is used to determine the id each field.\n * Either one will be found in the map, or a new one is generated.\n * @param controlNames if a value is provided, it will be used\n * to filter the fields that are returned.\n * @return {Array<VasFieldDto>}\n */\n hydrateFields(\n formModel: VasFormModel,\n controlFieldIdMap: Map<string, string> = new Map<string, string>(),\n controlNames?: Array<string>\n ): void {\n const fields: Array<VasFieldDto> = [];\n formModel.groups\n .forEach(group => {\n group.controls.forEach(control => {\n\n if (!control.name.startsWith('fields.')) {\n return;\n }\n\n if (controlNames && !controlNames.includes(control.name)) {\n return;\n }\n\n fields.push(VasFieldModel.fromDto({\n // if the controlId exists in the map, use the associated fieldId,\n // otherwise generate a new id for the field.\n id: controlFieldIdMap.get(control.id) || UUID.UUID(),\n account: this.account,\n job: this.id,\n createdBy: this.createdBy,\n created: this.created,\n modifiedBy: this.modifiedBy,\n modified: this.modified,\n control: control.id,\n value: this.getValueByPath(\n [group.name, control.name]\n )\n }));\n });\n });\n this.fields = fields;\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 value the value to set\n * @param 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 as any)[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 staticOnly if true, will only output values for the static\n * properties in the dto\n */\n public toDto(staticOnly = false): VasJobDto {\n\n if (staticOnly) {\n return {\n id: this.id,\n created: this.created,\n createdBy: this.createdBy,\n modified: this.modified,\n modifiedBy: this.modifiedBy,\n serverCreated: this.serverCreated,\n serverModified: this.serverModified,\n createdByName: this.createdByName,\n modifiedByName: this.modifiedByName,\n account: this.account,\n accessGroup: this.accessGroup,\n reference: this.reference,\n jobDate: this.jobDate,\n jobStatus: this.jobStatus,\n jobType: this.jobType,\n assigneeId: this.assigneeId,\n formId: this.formId,\n timeZoneOffset: this.timeZoneOffset,\n pendingFields: this.pendingFields,\n childModified: this.childModified,\n version: this.version,\n fields: this.fields,\n files: this.files,\n createdByDisplayName: this.createdByDisplayName,\n modifiedByDisplayName: this.modifiedByDisplayName,\n geoLocation: this.geoLocation\n };\n }\n\n const dto = {} as VasJobModelDynamicInterface;\n [...this.staticProperties, ...this.dynamicProperties]\n .forEach(prop => dto[prop] = this.$this[prop]);\n\n return dto as any;\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 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 const objectKey = path.shift() || '';\n let result = '';\n if (objectKey === 'job') {\n result = (this.getValueByPath(path) || '').toString();\n } else if (objectKey === 'fields') {\n result = (getValueByPath(\n ['fields.' + path.shift(), ...path],\n this.getFields2()\n ) || '').toString();\n } else if (objectKey.length) {\n if (options.objects) {\n if (options.objects[objectKey] === undefined) {\n console.debug(\n `objectKey ${objectKey} is not present in options.object`\n );\n result = '';\n } else {\n result = (getValueByPath(path, options.objects[objectKey]) || '')\n .toString();\n }\n } else {\n console.debug(\n `objectKey ${objectKey} was used but options.object is not set`\n );\n return '';\n }\n } else {\n return '';\n }\n\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 }).trim();\n };\n\n /**\n * @return {object}\n */\n override toApiDto(): Record<string, string | number | boolean> {\n return {\n ...super.toApiDto(),\n reference: this.reference || '~',\n jobDate: this.jobDate || '~',\n jobType: this.jobType || '~',\n accessGroup: this.accessGroup || '~',\n jobStatus: this.jobStatus || '~',\n assigneeId: this.assigneeId || '~',\n timeZoneOffset: this.timeZoneOffset || 0,\n pendingFields: this.pendingFields || 0,\n lastForm: this.formId || '~'\n };\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 { isFileDto, VasFileDto } from './vas-file.dto';\nimport { UUID } from 'angular2-uuid';\nimport moment from 'moment';\nimport { getValueByPath } from '../utils/get-value-by-path';\nimport { VasBaseDto } from './vas-base.dto';\nimport { VasFieldDto, VasFieldDtoValue } from './vas-field.dto';\nimport { VasFieldModel } from './vas-field.model';\nimport { VasFormModel } from './vas-form.model';\nimport { VasJobDto } from './vas-job.dto';\nimport { VasRestrictedAccountObjectModel } from './vas-restricted-account-object.model';\nimport { GeoLocation, getEmptyGeoLocation } from '../model/geo-location';\nimport { isCameraControlValueV1, VasCameraControlValueModel } from '../control-value/vas-camera-control-value.model';\nimport { isArrayString } from '../utils/is-array-string';\nimport { VasFormDto } from './vas-form.dto';\n\nexport declare interface VasJobModelDynamicInterface {\n [s: string]: string | number | Record<string, VasFieldDtoValue>;\n}\n\nexport interface ParseSyntaxOptions {\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 timeZoneOffset: number,\n // this dictionary can be passed in to contain other objects to be referenced\n // in the syntax. For example if we have {job.foo} this will reference the\n // job's `foo` property, however if we have \"reportLayout.title\" this will\n // expect to find a property of `objects` called `reportLayout` which will\n // have a property called `title`\n objects?: Record<string, Partial<VasBaseDto> | Record<string, VasFieldDtoValue>>;\n}\n\n/**\n * JobModel\n */\nexport class VasJobModel extends VasRestrictedAccountObjectModel {\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 override createdByName: string,\n public override modifiedByName: string,\n public override account: string,\n public override accessGroup: string,\n public reference: string,\n public jobDate: string,\n public jobStatus: string,\n public jobType: string,\n public assigneeId: string,\n public formId: string,\n public timeZoneOffset: number,\n public pendingFields: number,\n public childModified: string,\n public version: number,\n public fields: Array<VasFieldDto>,\n public files: Array<VasFileDto>,\n public createdByDisplayName: string,\n public modifiedByDisplayName: string,\n public geoLocation: GeoLocation\n ) {\n super(\n id,\n created,\n serverCreated,\n createdBy,\n modified,\n serverModified,\n modifiedBy,\n createdByName,\n modifiedByName,\n account,\n accessGroup\n );\n }\n\n /**\n * Returns this with the dynamic interface\n * @return {VasJobModelDynamicInterface}\n */\n get $this(): VasJobModelDynamicInterface {\n return this as any;\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 the list of properties of the Job type\n */\n get staticProperties(): Array<string> {\n return Object.getOwnPropertyNames(VasJobModel.empty());\n }\n\n /**\n * @return {VasJobModel}\n */\n static empty(): VasJobModel {\n return new VasJobModel(\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n moment().utcOffset(),\n 0,\n '',\n 0,\n [],\n [],\n '',\n '',\n getEmptyGeoLocation()\n );\n }\n\n static override fromDto(dto: Partial<VasJobDto>): VasJobModel {\n const model = new VasJobModel(\n dto.id || '',\n dto.created || '',\n dto.serverCreated || '',\n dto.createdBy || '',\n dto.modified || '',\n dto.serverModified || '',\n dto.modifiedBy || '',\n dto.createdByName || '',\n dto.modifiedByName || '',\n dto.account || '',\n dto.accessGroup || '',\n dto.reference || '',\n dto.jobDate || '',\n dto.jobStatus || '',\n dto.jobType || '',\n dto.assigneeId || '',\n dto.formId || '',\n dto.timeZoneOffset || moment().utcOffset(),\n dto.pendingFields || 0,\n dto.childModified || '',\n dto.version || 0,\n dto.fields || [],\n dto.files || [],\n dto.createdByDisplayName || '',\n dto.modifiedByDisplayName || '',\n dto.geoLocation || getEmptyGeoLocation()\n );\n const emptyKeys = model.staticProperties;\n Object\n .keys(dto)\n .filter(key => emptyKeys.indexOf(key) === -1)\n .forEach((key: string) =>\n model.$this[key] = (dto as VasJobModelDynamicInterface)[key]\n );\n return model;\n }\n\n /**\n * This method will instantiate a new JobModel. The difference with this\n * method of instantiation is that we are coming from a relation frame i.e.\n * the job has a list of {@link VasFieldDto} instead of a Job document.\n *\n */\n static fromRelational(\n dto: Partial<VasJobDto>,\n form: VasFormDto\n ): VasJobModel {\n const model = new VasJobModel(\n dto.id || '',\n dto.created || '',\n dto.serverCreated || '',\n dto.createdBy || '',\n dto.modified || '',\n dto.serverModified || '',\n dto.modifiedBy || '',\n dto.createdByName || '',\n dto.modifiedByName || '',\n dto.account || '',\n dto.accessGroup || '',\n dto.reference || '',\n dto.jobDate || '',\n dto.jobStatus || '',\n dto.jobType || '',\n dto.assigneeId || '',\n dto.formId || '',\n dto.timeZoneOffset || moment().utcOffset(),\n dto.pendingFields || 0,\n dto.childModified || '',\n dto.version || 0,\n dto.fields || [],\n dto.files || [],\n dto.createdByDisplayName || '',\n dto.modifiedByDisplayName || '',\n dto.geoLocation || getEmptyGeoLocation()\n );\n\n form.groups\n .forEach(group => {\n group.controls\n .forEach(control => {\n const field = dto.fields?.find(f => f.control === control.id);\n if (!field) {\n return;\n }\n model.getGroup(group.name)[control.name] = field.value;\n });\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]) || null;\n });\n });\n return fields;\n }\n\n /**\n * Will return an object whose keys are the names of all fields in the job.\n * This method is similar to `getFields` except that this method will only\n * return values where a value was set, as opposed to `getFields` which will\n * return a value for every control even if not value was set, because it uses\n * the form to drive the logic. Note also this method will return values for\n * any Fields in the fields array.\n * @return {Record<string, VasFieldDtoValue>}\n */\n getFields2(): Record<string, VasFieldDtoValue> {\n let fields: { [key: string]: VasFieldDtoValue } = {};\n this.dynamicProperties\n .forEach((groupName) => {\n Object\n .keys(this.$this[groupName])\n .forEach(controlName => {\n fields[controlName] =\n this.getValueByPath([groupName, controlName]) || null;\n });\n }, {});\n this.fields.forEach(field => fields[field.controlName] = field.value);\n return fields;\n }\n\n /**\n * Returns an object describing how many attachments were added to this job\n * (camera controls and files), and how many have not been uploaded yet.\n *\n * @param formModel instance of {@link VasFormModel} that was used when the\n * job was created\n */\n getFilesUploadStatus(\n formModel: VasFormModel\n ): { pending: number; total: number } {\n\n const pathsWithValue: Array<Array<string>> = formModel\n .getCameraControlPaths()\n .map(path => {\n const value: VasFileDto | VasCameraControlValueModel =\n this.getValueByPath(path) as any;\n if (value && !!value.id) {\n return path;\n }\n return null;\n })\n .filter(path => path !== null ? path : null)\n .filter(isArrayString);\n\n let total = pathsWithValue.length;\n\n total += this.files.length;\n\n // calculate the number of camera images still to upload\n let pending = pathsWithValue\n .map(path => this.getValueByPath(path) as any)\n .map((value: VasFileDto | VasCameraControlValueModel) => {\n if (isFileDto(value)) {\n return value.id && value.status !== 'COMPLETE';\n } else if (isCameraControlValueV1(value)) {\n // if url is not set, it hasn't been uploaded\n return value.id && !value.url;\n }\n return false;\n })\n .filter(hasUploaded => hasUploaded)\n .length;\n\n // add total from files that are pending\n pending += this.files\n .filter(value => value.status !== 'COMPLETE')\n .length;\n\n return {\n pending,\n total\n };\n }\n\n /**\n * This method will return the dynamic property from the JobModel that\n * represent a group (from a form).\n *\n * @param name the name of the group\n * @param init if true (default) and group is not found, initialise an empty\n * group, otherwise throw an error\n */\n getGroup(name: string, init = true): Record<string, VasFieldDtoValue> {\n let prop;\n if (this.staticProperties.includes(name)) {\n throw Error(`invalid group name ${name}, not a dynamic property`);\n } else if (this.$this[name] === undefined) {\n if (init) {\n prop = this.$this[name] = {};\n } else {\n throw Error(`invalid group name ${name}, not found`);\n }\n } else {\n prop = this.$this[name];\n if (typeof prop !== 'object') {\n throw Error(`invalid group name ${name}, not an object`);\n }\n }\n return prop;\n }\n\n /**\n * @param path path segments\n */\n getValueByPath<T extends VasFieldDtoValue>(\n path: string[] = []\n ): T | undefined {\n return getValueByPath(path, this.$this);\n }\n\n /**\n * In order to understand why we need this method it is important to\n * understand that within the system, Jobs can be represented in one of two\n * ways, document and relational.\n *\n * The important distinction is how values submitted by a form are stored.\n *\n * Jobs stored as documents (JSON objects) will store user values, as dynamic\n * properties of the document.\n *\n * Whereas, Jobs stored as relational, will store user values in an array of\n * {@link VasFieldDto} objects.\n *\n * Depending on where we are in the system, either one of these approaches can\n * be more useful than the other.\n *\n * This method, assumes that the JobModel has been instantiated from a\n * document representation, and serves to hydrate the fields array. In order\n * to achieve this, knowledge of the {@link VasFormDto} that created the job\n * is required.\n *\n *\n * Job in document representation\n * {\n * id: <guid>,\n * reference: \"something\"\n * <other static job properties>...\n * foo: {\n * bar: \"value\"\n * }\n * }\n *\n * Job in relational representation\n * {\n * id: <guid>,\n * reference: \"something\"\n * <other static job properties>...\n * <will not have dynamic properties>...\n * fields: [\n * {\n * id: <guid>,\n * <other field properties>,\n * value: \"value\"\n * }\n * ]\n * }\n *\n *\n * @param formModel the VasFormModel that was used to create the job\n * @param controlFieldIdMap This is used to determine the id each field.\n * Either one will be found in the map, or a new one is generated.\n * @param controlNames if a value is provided, it will be used\n * to filter the fields that are returned.\n * @return {Array<VasFieldDto>}\n */\n hydrateFields(\n formModel: VasFormModel,\n controlFieldIdMap: Map<string, string> = new Map<string, string>(),\n controlNames?: Array<string>\n ): void {\n const fields: Array<VasFieldDto> = [];\n formModel.groups\n .forEach(group => {\n group.controls.forEach(control => {\n\n if (!control.name.startsWith('fields.')) {\n return;\n }\n\n if (controlNames && !controlNames.includes(control.name)) {\n return;\n }\n\n fields.push(VasFieldModel.fromDto({\n // if the controlId exists in the map, use the associated fieldId,\n // otherwise generate a new id for the field.\n id: controlFieldIdMap.get(control.id) || UUID.UUID(),\n account: this.account,\n job: this.id,\n createdBy: this.createdBy,\n created: this.created,\n modifiedBy: this.modifiedBy,\n modified: this.modified,\n control: control.id,\n value: this.getValueByPath(\n [group.name, control.name]\n )\n }));\n });\n });\n this.fields = fields;\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 value the value to set\n * @param 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 as any)[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 staticOnly if true, will only output values for the static\n * properties in the dto\n */\n public toDto(staticOnly = false): VasJobDto {\n\n if (staticOnly) {\n return {\n id: this.id,\n created: this.created,\n createdBy: this.createdBy,\n modified: this.modified,\n modifiedBy: this.modifiedBy,\n serverCreated: this.serverCreated,\n serverModified: this.serverModified,\n createdByName: this.createdByName,\n modifiedByName: this.modifiedByName,\n account: this.account,\n accessGroup: this.accessGroup,\n reference: this.reference,\n jobDate: this.jobDate,\n jobStatus: this.jobStatus,\n jobType: this.jobType,\n assigneeId: this.assigneeId,\n formId: this.formId,\n timeZoneOffset: this.timeZoneOffset,\n pendingFields: this.pendingFields,\n childModified: this.childModified,\n version: this.version,\n fields: this.fields,\n files: this.files,\n createdByDisplayName: this.createdByDisplayName,\n modifiedByDisplayName: this.modifiedByDisplayName,\n geoLocation: this.geoLocation\n };\n }\n\n const dto = {} as VasJobModelDynamicInterface;\n [...this.staticProperties, ...this.dynamicProperties]\n .forEach(prop => dto[prop] = this.$this[prop]);\n\n return dto as any;\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 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 const objectKey = path.shift() || '';\n let result = '';\n if (objectKey === 'job') {\n result = (this.getValueByPath(path) || '').toString();\n } else if (objectKey === 'fields') {\n result = (getValueByPath(\n ['fields.' + path.shift(), ...path],\n this.getFields2()\n ) || '').toString();\n } else if (objectKey.length) {\n if (options.objects) {\n if (options.objects[objectKey] === undefined) {\n console.debug(\n `objectKey ${objectKey} is not present in options.object`\n );\n result = '';\n } else {\n result = (getValueByPath(path, options.objects[objectKey]) || '')\n .toString();\n }\n } else {\n console.debug(\n `objectKey ${objectKey} was used but options.object is not set`\n );\n return '';\n }\n } else {\n return '';\n }\n\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 }).trim();\n };\n\n /**\n * @return {object}\n */\n override toApiDto(): Record<string, string | number | boolean> {\n return {\n ...super.toApiDto(),\n reference: this.reference || '~',\n jobDate: this.jobDate || '~',\n jobType: this.jobType || '~',\n accessGroup: this.accessGroup || '~',\n jobStatus: this.jobStatus || '~',\n assigneeId: this.assigneeId || '~',\n timeZoneOffset: this.timeZoneOffset || 0,\n pendingFields: this.pendingFields || 0,\n lastForm: this.formId || '~'\n };\n }\n}\n"]}
@@ -1,2 +1,3 @@
1
1
  export * from './vas-camera-control-value.model';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YXMtbGliL3NyYy9saWIvY29udHJvbC12YWx1ZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtDQUFrQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi92YXMtY2FtZXJhLWNvbnRyb2wtdmFsdWUubW9kZWwnO1xuIl19
2
+ export * from './vas-function-control-value.dto';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YXMtbGliL3NyYy9saWIvY29udHJvbC12YWx1ZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsa0NBQWtDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Zhcy1jYW1lcmEtY29udHJvbC12YWx1ZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3Zhcy1mdW5jdGlvbi1jb250cm9sLXZhbHVlLmR0byc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFzLWZ1bmN0aW9uLWNvbnRyb2wtdmFsdWUuZHRvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFzLWxpYi9zcmMvbGliL2NvbnRyb2wtdmFsdWUvdmFzLWZ1bmN0aW9uLWNvbnRyb2wtdmFsdWUuZHRvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJcbmV4cG9ydCBpbnRlcmZhY2UgVmFzRnVuY3Rpb25Db250cm9sVmFsdWVEdG8ge1xuICBvdmVycmlkZU1vZGU6IGJvb2xlYW47XG4gIG92ZXJyaWRlVmFsdWU6IGFueTtcbiAgZXZhbFZhbHVlOiBhbnk7XG4gIHZhbHVlOiBhbnk7XG59XG4iXX0=
@@ -1,4 +1,5 @@
1
1
  export * from './vas-control-config-direction.enum';
2
2
  export * from './vas-control-config.model';
3
+ export * from './vas-function-control-config.dto';
3
4
  export * from './vas-select-control-config.model';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YXMtbGliL3NyYy9saWIvY29udHJvbHMtY29uZmlnL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUNBQXFDLENBQUE7QUFDbkQsY0FBYyw0QkFBNEIsQ0FBQTtBQUMxQyxjQUFjLG1DQUFtQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi92YXMtY29udHJvbC1jb25maWctZGlyZWN0aW9uLmVudW0nXG5leHBvcnQgKiBmcm9tICcuL3Zhcy1jb250cm9sLWNvbmZpZy5tb2RlbCdcbmV4cG9ydCAqIGZyb20gJy4vdmFzLXNlbGVjdC1jb250cm9sLWNvbmZpZy5tb2RlbCdcbiJdfQ==
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YXMtbGliL3NyYy9saWIvY29udHJvbHMtY29uZmlnL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUNBQXFDLENBQUE7QUFDbkQsY0FBYyw0QkFBNEIsQ0FBQTtBQUMxQyxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsbUNBQW1DLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Zhcy1jb250cm9sLWNvbmZpZy1kaXJlY3Rpb24uZW51bSdcbmV4cG9ydCAqIGZyb20gJy4vdmFzLWNvbnRyb2wtY29uZmlnLm1vZGVsJ1xuZXhwb3J0ICogZnJvbSAnLi92YXMtZnVuY3Rpb24tY29udHJvbC1jb25maWcuZHRvJztcbmV4cG9ydCAqIGZyb20gJy4vdmFzLXNlbGVjdC1jb250cm9sLWNvbmZpZy5tb2RlbCdcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFzLWZ1bmN0aW9uLWNvbnRyb2wtY29uZmlnLmR0by5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Zhcy1saWIvc3JjL2xpYi9jb250cm9scy1jb25maWcvdmFzLWZ1bmN0aW9uLWNvbnRyb2wtY29uZmlnLmR0by50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiXG5leHBvcnQgaW50ZXJmYWNlIFZhc0Z1bmN0aW9uQ29udHJvbENvbmZpZ0R0byB7XG4gIGNvZGU6IHN0cmluZztcbiAgdGVzdERhdGE6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIGhpZGRlbjogYm9vbGVhbjtcbn1cbiJdfQ==
@@ -107,8 +107,8 @@ export class VasControlModel extends VasRestrictedAccountObjectModel {
107
107
  dto.id || '', dto.created || '', dto.serverCreated || '', dto.createdBy || '', dto.modified || '', dto.serverModified || '', dto.modifiedBy || '', dto.createdByName || '', dto.modifiedByName || '', dto.account || '', dto.accessGroup || '', handleControlType(dto.controlType), dto.group || '', dto.validators || [], dto.name || '', dto.title || '', dto.linkable || false, dto.sequence || 0, dto.description || '', dto.defaultValue || '', JSON.parse(dto.config || '{}'), dto.descriptionImage || '', dto.portalEnabled || false);
108
108
  }
109
109
  /**
110
- * @param {string} value
111
- * @return {VasControlModelDefaultValueType}
110
+ * @param {any} value the value to be parsed
111
+ * @return {VasFieldDtoValue} the parsed value
112
112
  */
113
113
  parseMaybeJson(value) {
114
114
  if (typeof value !== 'string') {
@@ -168,4 +168,4 @@ export class VasControlModel extends VasRestrictedAccountObjectModel {
168
168
  };
169
169
  }
170
170
  }
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFzLWNvbnRyb2wubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YXMtbGliL3NyYy9saWIvZW50aXR5L3Zhcy1jb250cm9sLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckMsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFJeEY7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSwrQkFBK0I7SUFHbEUsWUFDa0IsRUFBVSxFQUNWLE9BQWUsRUFDZixhQUFxQixFQUNyQixTQUFpQixFQUNqQixRQUFnQixFQUNoQixjQUFzQixFQUN0QixVQUFrQixFQUNsQixhQUFxQixFQUNyQixjQUFzQixFQUN0QixPQUFlLEVBQ2YsV0FBbUIsRUFDNUIsV0FBZ0MsRUFDaEMsS0FBYSxFQUNiLFVBQW9CLEVBQ3BCLElBQVksRUFDWixLQUFhLEVBQ2IsUUFBaUIsRUFDakIsUUFBZ0IsRUFDaEIsV0FBbUIsRUFDbkIsWUFBb0IsRUFDcEIsTUFBMkIsRUFDM0IsZ0JBQXdCLEVBQ3hCLGFBQXNCO1FBRTdCLEtBQUssQ0FDSCxFQUFFLEVBQ0YsT0FBTyxFQUNQLGFBQWEsRUFDYixTQUFTLEVBQ1QsUUFBUSxFQUNSLGNBQWMsRUFDZCxVQUFVLEVBQ1YsYUFBYSxFQUNiLGNBQWMsRUFDZCxPQUFPLEVBQ1AsV0FBVyxDQUNaLENBQUM7UUFwQ2MsT0FBRSxHQUFGLEVBQUUsQ0FBUTtRQUNWLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixrQkFBYSxHQUFiLGFBQWEsQ0FBUTtRQUNyQixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQ2pCLGFBQVEsR0FBUixRQUFRLENBQVE7UUFDaEIsbUJBQWMsR0FBZCxjQUFjLENBQVE7UUFD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R0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQ25CLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxJQUFJLEdBQUc7WUFDeEIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLElBQUksR0FBRztZQUN0QixhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDakMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxJQUFJLEdBQUc7WUFDcEMsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDbkMsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNoQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtTQUN4QixDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFzQ29udHJvbFR5cGVNb2RlbCB9IGZyb20gJy4vdmFzLWNvbnRyb2wtdHlwZS5tb2RlbCc7XG5pbXBvcnQgeyBWYXNDb250cm9sRHRvIH0gZnJvbSAnLi92YXMtY29udHJvbC5kdG8nO1xuaW1wb3J0IHsgVVVJRCB9IGZyb20gJ2FuZ3VsYXIyLXV1aWQnO1xuaW1wb3J0IHsgVmFzQ29udHJvbFR5cGVEdG8gfSBmcm9tICcuL3Zhcy1jb250cm9sLXR5cGUuZHRvJztcbmltcG9ydCB7IFZhc1Jlc3RyaWN0ZWRBY2NvdW50T2JqZWN0TW9kZWwgfSBmcm9tICcuL3Zhcy1yZXN0cmljdGVkLWFjY291bnQtb2JqZWN0Lm1vZGVsJztcblxuZXhwb3J0IGRlY2xhcmUgdHlwZSBWYXNDb250cm9sTW9kZWxEZWZhdWx0VmFsdWVUeXBlID0gc3RyaW5nIHwgbnVtYmVyIHwgb2JqZWN0O1xuXG4vKipcbiAqIENvbnRyb2xNb2RlbFxuICovXG5leHBvcnQgY2xhc3MgVmFzQ29udHJvbE1vZGVsIGV4dGVuZHMgVmFzUmVzdHJpY3RlZEFjY291bnRPYmplY3RNb2RlbCB7XG4gIHByb3RlY3RlZCBjb250cm9sVHlwZUlkOiBzdHJpbmcgPSAnJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgb3ZlcnJpZGUgaWQ6IHN0cmluZyxcbiAgICBwdWJsaWMgb3ZlcnJpZGUgY3JlYXRlZDogc3RyaW5nLFxuICAgIHB1YmxpYyBvdmVycmlkZSBzZXJ2ZXJDcmVhdGVkOiBzdHJpbmcsXG4gICAgcHVibGljIG92ZXJyaWRlIGNyZWF0ZWRCeTogc3RyaW5nLFxuICAgIHB1YmxpYyBvdmVycmlkZSBtb2RpZmllZDogc3RyaW5nLFxuICAgIHB1YmxpYyBvdmVycmlkZSBzZXJ2ZXJNb2RpZmllZDogc3RyaW5nLFxuICAgIHB1YmxpYyBvdmVycmlkZSBtb2RpZmllZEJ5OiBzdHJpbmcsXG4gICAgcHVibGljIG92ZXJyaWRlIGNyZWF0ZWRCeU5hbWU6IHN0cmluZyxcbiAgICBwdWJsaWMgb3ZlcnJpZGUgbW9kaWZpZWRCeU5hbWU6IHN0cmluZyxcbiAgICBwdWJsaWMgb3ZlcnJpZGUgYWNjb3VudDogc3RyaW5nLFxuICAgIHB1YmxpYyBvdmVycmlkZSBhY2Nlc3NHcm91cDogc3RyaW5nLFxuICAgIHB1YmxpYyBjb250cm9sVHlwZTogVmFzQ29udHJvbFR5cGVNb2RlbCxcbiAgICBwdWJsaWMgZ3JvdXA6IHN0cmluZyxcbiAgICBwdWJsaWMgdmFsaWRhdG9yczogc3RyaW5nW10sXG4gICAgcHVibGljIG5hbWU6IHN0cmluZyxcbiAgICBwdWJsaWMgdGl0bGU6IHN0cmluZyxcbiAgICBwdWJsaWMgbGlua2FibGU6IGJvb2xlYW4sXG4gICAgcHVibGljIHNlcXVlbmNlOiBudW1iZXIsXG4gICAgcHVibGljIGRlc2NyaXB0aW9uOiBzdHJpbmcsXG4gICAgcHVibGljIGRlZmF1bHRWYWx1ZTogc3RyaW5nLFxuICAgIHB1YmxpYyBjb25maWc6IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gICAgcHVibGljIGRlc2NyaXB0aW9uSW1hZ2U6IHN0cmluZyxcbiAgICBwdWJsaWMgcG9ydGFsRW5hYmxlZDogYm9vbGVhblxuICApIHtcbiAgICBzdXBlcihcbiAgICAgIGlkLFxuICAgICAgY3JlYXRlZCxcbiAgICAgIHNlcnZlckNyZWF0ZWQsXG4gICAgICBjcmVhdGVkQnksXG4gICAgICBtb2RpZmllZCxcbiAgICAgIHNlcnZlck1vZGlmaWVkLFxuICAgICAgbW9kaWZpZWRCeSxcbiAgICAgIGNyZWF0ZWRCeU5hbWUsXG4gICAgICBtb2RpZmllZEJ5TmFtZSxcbiAgICAgIGFjY291bnQsXG4gICAgICBhY2Nlc3NHcm91cFxuICAgICk7XG4gICAgaWYgKHR5cGVvZiBjb250cm9sVHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHRoaXMuY29udHJvbFR5cGVJZCA9IGNvbnRyb2xUeXBlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvbnRyb2xUeXBlSWQgPSBjb250cm9sVHlwZS5pZDtcbiAgICB9XG4gIH1cblxuICBnZXQgY29udHJvbFR5cGVOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbFR5cGU/Lm5hbWUgfHwgJyc7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGRlZmF1bHRWYWx1ZSBwcm9wZXJ0eSBpcyByZXR1cm5lZCBmcm9tIHRoZSBhcGkgYXMgYSBzdHJpbmcgb3IgbnVtYmVyLFxuICAgKiBpbiB0aGUgY2FzZSBvZiBzdHJpbmcsIGl0IG1heWJlIGEganNvbi4gVGhpcyBnZXR0ZXIgd2lsbCByZXR1cm4gYW5cbiAgICogb2JqZWN0IGlmIHRoZSB2YWx1ZSBpcyBhIGpzb24gc3RyaW5nXG4gICAqL1xuICBnZXQgZGVmYXVsdFZhbHVlRGVjb2RlZCgpOiBWYXNDb250cm9sTW9kZWxEZWZhdWx0VmFsdWVUeXBlIHtcbiAgICBpZiAodGhpcy5kZWZhdWx0VmFsdWUgPT09ICcnICYmIHRoaXMuY29udHJvbFR5cGUpIHtcbiAgICAgIHN3aXRjaCAodGhpcy5jb250cm9sVHlwZU5hbWUpIHtcbiAgICAgICAgY2FzZSAnYnJhbmNoJzpcbiAgICAgICAgY2FzZSAnY2FtZXJhJzpcbiAgICAgICAgY2FzZSAnY29udGFjdCc6IHtcbiAgICAgICAgICByZXR1cm4ge307XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAndG9nZ2xlJzoge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjaGVja2VkOiBmYWxzZSwgY29tbWVudDogJydcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucGFyc2VNYXliZUpzb24odGhpcy5kZWZhdWx0VmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIG5hbWUgb2YgdGhpcyBjb250cm9sIHRvIGJlIHVzZWQgaW4gdGhlIHJlcG9ydCB0ZW1wbGF0ZXNcbiAgICogaS5lLiBmaWVsZHMuZm9vIC0+IGZvb1xuICAgKiBAcmV0dXJuIHtzdHJpbmd9XG4gICAqL1xuICBnZXQgcmVwb3J0VGVtcGxhdGVOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubmFtZS5yZXBsYWNlKC9eZmllbGRzXFwuLywgJycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIGdldCBzYWZlTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybiB7VmFzQ29udHJvbE1vZGVsfVxuICAgKi9cbiAgc3RhdGljIGVtcHR5KCk6IFZhc0NvbnRyb2xNb2RlbCB7XG4gICAgcmV0dXJuIFZhc0NvbnRyb2xNb2RlbC5mcm9tRHRvKHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuZXctY2FwXG4gICAgICBpZDogVVVJRC5VVUlEKClcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge1Zhc0NvbnRyb2xEdG99IGR0b1xuICAgKiBAcmV0dXJuIHtWYXNDb250cm9sTW9kZWx9XG4gICAqL1xuICBzdGF0aWMgb3ZlcnJpZGUgZnJvbUR0byhcbiAgICBkdG86IFBhcnRpYWw8VmFzQ29udHJvbER0bz5cbiAgKTogVmFzQ29udHJvbE1vZGVsIHtcblxuICAgIGNvbnN0IGhhbmRsZUNvbnRyb2xUeXBlID0gKGM6IHN0cmluZyB8IFZhc0NvbnRyb2xUeXBlRHRvIHwgdW5kZWZpbmVkKSA9PiB7XG4gICAgICBpZiAoYyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiBWYXNDb250cm9sVHlwZU1vZGVsLmVtcHR5KCk7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBjID09PSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gVmFzQ29udHJvbFR5cGVNb2RlbC5mcm9tRHRvKHtpZDogY30pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIFZhc0NvbnRyb2xUeXBlTW9kZWwuZnJvbUR0byhjKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgcmV0dXJuIG5ldyBWYXNDb250cm9sTW9kZWwoXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbmV3LWNhcFxuICAgICAgZHRvLmlkIHx8ICcnLFxuICAgICAgZHRvLmNyZWF0ZWQgfHwgJycsXG4gICAgICBkdG8uc2VydmVyQ3JlYXRlZCB8fCAnJyxcbiAgICAgIGR0by5jcmVhdGVkQnkgfHwgJycsXG4gICAgICBkdG8ubW9kaWZpZWQgfHwgJycsXG4gICAgICBkdG8uc2VydmVyTW9kaWZpZWQgfHwgJycsXG4gICAgICBkdG8ubW9kaWZpZWRCeSB8fCAnJyxcbiAgICAgIGR0by5jcmVhdGVkQnlOYW1lIHx8ICcnLFxuICAgICAgZHRvLm1vZGlmaWVkQnlOYW1lIHx8ICcnLFxuICAgICAgZHRvLmFjY291bnQgfHwgJycsXG4gICAgICBkdG8uYWNjZXNzR3JvdXAgfHwgJycsXG4gICAgICBoYW5kbGVDb250cm9sVHlwZShkdG8uY29udHJvbFR5cGUpIGFzIGFueSxcbiAgICAgIGR0by5ncm91cCB8fCAnJyxcbiAgICAgIGR0by52YWxpZGF0b3JzIHx8IFtdLFxuICAgICAgZHRvLm5hbWUgfHwgJycsXG4gICAgICBkdG8udGl0bGUgfHwgJycsXG4gICAgICBkdG8ubGlua2FibGUgfHwgZmFsc2UsXG4gICAgICBkdG8uc2VxdWVuY2UgfHwgMCxcbiAgICAgIGR0by5kZXNjcmlwdGlvbiB8fCAnJyxcbiAgICAgIGR0by5kZWZhdWx0VmFsdWUgfHwgJycsXG4gICAgICBKU09OLnBhcnNlKGR0by5jb25maWcgfHwgJ3t9JyksXG4gICAgICBkdG8uZGVzY3JpcHRpb25JbWFnZSB8fCAnJyxcbiAgICAgIGR0by5wb3J0YWxFbmFibGVkIHx8IGZhbHNlXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAgICogQHJldHVybiB7VmFzQ29udHJvbE1vZGVsRGVmYXVsdFZhbHVlVHlwZX1cbiAgICovXG4gIHByb3RlY3RlZCBwYXJzZU1heWJlSnNvbihcbiAgICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgb2JqZWN0XG4gICk6IFZhc0NvbnRyb2xNb2RlbERlZmF1bHRWYWx1ZVR5cGUge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBKU09OLnBhcnNlKHZhbHVlKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm4ge1Zhc0NvbnRyb2xEdG99XG4gICAqL1xuICB0b0R0bygpOiBWYXNDb250cm9sRHRvIHtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgICBjcmVhdGVkOiB0aGlzLmNyZWF0ZWQsXG4gICAgICBzZXJ2ZXJDcmVhdGVkOiB0aGlzLnNlcnZlckNyZWF0ZWQsXG4gICAgICBjcmVhdGVkQnk6IHRoaXMuY3JlYXRlZEJ5LFxuICAgICAgbW9kaWZpZWQ6IHRoaXMubW9kaWZpZWQsXG4gICAgICBzZXJ2ZXJNb2RpZmllZDogdGhpcy5zZXJ2ZXJNb2RpZmllZCxcbiAgICAgIG1vZGlmaWVkQnk6IHRoaXMubW9kaWZpZWRCeSxcbiAgICAgIGNyZWF0ZWRCeU5hbWU6IHRoaXMuY3JlYXRlZEJ5TmFtZSxcbiAgICAgIG1vZGlmaWVkQnlOYW1lOiB0aGlzLm1vZGlmaWVkQnlOYW1lLFxuICAgICAgYWNjb3VudDogdGhpcy5hY2NvdW50LFxuICAgICAgYWNjZXNzR3JvdXA6IHRoaXMuYWNjZXNzR3JvdXAsXG4gICAgICBjb250cm9sVHlwZTogdGhpcy5jb250cm9sVHlwZS50b0R0bygpLFxuICAgICAgZ3JvdXA6IHRoaXMuZ3JvdXAsXG4gICAgICB2YWxpZGF0b3JzOiB0aGlzLnZhbGlkYXRvcnMsXG4gICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICB0aXRsZTogdGhpcy50aXRsZSxcbiAgICAgIGxpbmthYmxlOiB0aGlzLmxpbmthYmxlLFxuICAgICAgc2VxdWVuY2U6IHRoaXMuc2VxdWVuY2UsXG4gICAgICBkZXNjcmlwdGlvbjogdGhpcy5kZXNjcmlwdGlvbixcbiAgICAgIGRlZmF1bHRWYWx1ZTogdGhpcy5kZWZhdWx0VmFsdWUsXG4gICAgICBjb25maWc6IEpTT04uc3RyaW5naWZ5KHRoaXMuY29uZmlnKSxcbiAgICAgIGRlc2NyaXB0aW9uSW1hZ2U6IHRoaXMuZGVzY3JpcHRpb25JbWFnZSxcbiAgICAgIHBvcnRhbEVuYWJsZWQ6IHRoaXMucG9ydGFsRW5hYmxlZFxuICAgIH07XG4gIH1cblxuICBvdmVycmlkZSB0b0FwaUR0byhvcHRpb25zPzogYW55KTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN1cGVyLnRvQXBpRHRvKCksXG4gICAgICB0aXRsZTogdGhpcy50aXRsZSB8fCAnficsXG4gICAgICBuYW1lOiB0aGlzLm5hbWUgfHwgJ34nLFxuICAgICAgcG9ydGFsRW5hYmxlZDogdGhpcy5wb3J0YWxFbmFibGVkLFxuICAgICAgc2VxdWVuY2U6IHRoaXMuc2VxdWVuY2UsXG4gICAgICBkZXNjcmlwdGlvbjogdGhpcy5kZXNjcmlwdGlvbiB8fCAnficsXG4gICAgICBkZWZhdWx0VmFsdWU6IHRoaXMuZGVmYXVsdFZhbHVlLFxuICAgICAgY29uZmlnOiBKU09OLnN0cmluZ2lmeSh0aGlzLmNvbmZpZyksXG4gICAgICBjb250cm9sVHlwZTogdGhpcy5jb250cm9sVHlwZS5pZCxcbiAgICAgIGdyb3VwOiB0aGlzLmdyb3VwLFxuICAgICAgdmFsaWRhdG9yczogdGhpcy52YWxpZGF0b3JzLFxuICAgICAgbGlua2FibGU6IHRoaXMubGlua2FibGVcbiAgICB9O1xuICB9XG59XG5cbiJdfQ==
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFzLWNvbnRyb2wubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YXMtbGliL3NyYy9saWIvZW50aXR5L3Zhcy1jb250cm9sLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRS9ELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckMsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFLeEY7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSwrQkFBK0I7SUFHbEUsWUFDa0IsRUFBVSxFQUNWLE9BQWUsRUFDZixhQUFxQixFQUNyQixTQUFpQixFQUNqQixRQUFnQixFQUNoQixjQUFzQixFQUN0QixVQUFrQixFQUNsQixhQUFxQixFQUNyQixjQUFzQixFQUN0QixPQUFlLEVBQ2YsV0FBbUIsRUFDNUIsV0FBZ0MsRUFDaEMsS0FBYSxFQUNiLFVBQW9CLEVBQ3BCLElBQVksRUFDWixLQUFhLEVBQ2IsUUFBaUIsRUFDakIsUUFBZ0IsRUFDaEIsV0FBbUIsRUFDbkIsWUFBb0IsRUFDcEIsTUFBMkIsRUFDM0IsZ0JBQXdCLEVBQ3hCLGFBQXNCO1FBRTdCLEtBQUssQ0FDSCxFQUFFLEVBQ0YsT0FBTyxFQUNQLGFBQWEsRUFDYixTQUFTLEVBQ1QsUUFBUSxFQUNSLGNBQWMsRUFDZCxVQUFVLEVBQ1YsYUFBYSxFQUNiLGNBQWMsRUFDZCxPQUFPLEVBQ1AsV0FBVyxDQUNaLENBQUM7UUFwQ2MsT0FBRSxHQUFGLEVBQUUsQ0FBUTtRQUNWLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixrQkFBYSxHQUFiLGFBQWEsQ0FBUTtRQUNyQixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQ2pCLGFBQVEsR0FBUixRQUFRLENBQVE7UUFDaEIsbUJBQWMsR0FBZCxjQUFjLENBQVE7UUFD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QUcsS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUNuQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssSUFBSSxHQUFHO1lBQ3hCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxJQUFJLEdBQUc7WUFDdEIsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2pDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsSUFBSSxHQUFHO1lBQ3BDLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMvQixNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ25DLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDaEMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7U0FDeEIsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhc0NvbnRyb2xUeXBlTW9kZWwgfSBmcm9tICcuL3Zhcy1jb250cm9sLXR5cGUubW9kZWwnO1xuaW1wb3J0IHsgVmFzQ29udHJvbER0byB9IGZyb20gJy4vdmFzLWNvbnRyb2wuZHRvJztcbmltcG9ydCB7IFVVSUQgfSBmcm9tICdhbmd1bGFyMi11dWlkJztcbmltcG9ydCB7IFZhc0NvbnRyb2xUeXBlRHRvIH0gZnJvbSAnLi92YXMtY29udHJvbC10eXBlLmR0byc7XG5pbXBvcnQgeyBWYXNSZXN0cmljdGVkQWNjb3VudE9iamVjdE1vZGVsIH0gZnJvbSAnLi92YXMtcmVzdHJpY3RlZC1hY2NvdW50LW9iamVjdC5tb2RlbCc7XG5pbXBvcnQgeyBWYXNGaWVsZER0b1ZhbHVlIH0gZnJvbSBcIi4vdmFzLWZpZWxkLmR0b1wiO1xuXG5leHBvcnQgZGVjbGFyZSB0eXBlIFZhc0NvbnRyb2xNb2RlbERlZmF1bHRWYWx1ZVR5cGUgPSBzdHJpbmcgfCBudW1iZXIgfCBvYmplY3Q7XG5cbi8qKlxuICogQ29udHJvbE1vZGVsXG4gKi9cbmV4cG9ydCBjbGFzcyBWYXNDb250cm9sTW9kZWwgZXh0ZW5kcyBWYXNSZXN0cmljdGVkQWNjb3VudE9iamVjdE1vZGVsIHtcbiAgcHJvdGVjdGVkIGNvbnRyb2xUeXBlSWQ6IHN0cmluZyA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBvdmVycmlkZSBpZDogc3RyaW5nLFxuICAgIHB1YmxpYyBvdmVycmlkZSBjcmVhdGVkOiBzdHJpbmcsXG4gICAgcHVibGljIG92ZXJyaWRlIHNlcnZlckNyZWF0ZWQ6IHN0cmluZyxcbiAgICBwdWJsaWMgb3ZlcnJpZGUgY3JlYXRlZEJ5OiBzdHJpbmcsXG4gICAgcHVibGljIG92ZXJyaWRlIG1vZGlmaWVkOiBzdHJpbmcsXG4gICAgcHVibGljIG92ZXJyaWRlIHNlcnZlck1vZGlmaWVkOiBzdHJpbmcsXG4gICAgcHVibGljIG92ZXJyaWRlIG1vZGlmaWVkQnk6IHN0cmluZyxcbiAgICBwdWJsaWMgb3ZlcnJpZGUgY3JlYXRlZEJ5TmFtZTogc3RyaW5nLFxuICAgIHB1YmxpYyBvdmVycmlkZSBtb2RpZmllZEJ5TmFtZTogc3RyaW5nLFxuICAgIHB1YmxpYyBvdmVycmlkZSBhY2NvdW50OiBzdHJpbmcsXG4gICAgcHVibGljIG92ZXJyaWRlIGFjY2Vzc0dyb3VwOiBzdHJpbmcsXG4gICAgcHVibGljIGNvbnRyb2xUeXBlOiBWYXNDb250cm9sVHlwZU1vZGVsLFxuICAgIHB1YmxpYyBncm91cDogc3RyaW5nLFxuICAgIHB1YmxpYyB2YWxpZGF0b3JzOiBzdHJpbmdbXSxcbiAgICBwdWJsaWMgbmFtZTogc3RyaW5nLFxuICAgIHB1YmxpYyB0aXRsZTogc3RyaW5nLFxuICAgIHB1YmxpYyBsaW5rYWJsZTogYm9vbGVhbixcbiAgICBwdWJsaWMgc2VxdWVuY2U6IG51bWJlcixcbiAgICBwdWJsaWMgZGVzY3JpcHRpb246IHN0cmluZyxcbiAgICBwdWJsaWMgZGVmYXVsdFZhbHVlOiBzdHJpbmcsXG4gICAgcHVibGljIGNvbmZpZzogUmVjb3JkPHN0cmluZywgYW55PixcbiAgICBwdWJsaWMgZGVzY3JpcHRpb25JbWFnZTogc3RyaW5nLFxuICAgIHB1YmxpYyBwb3J0YWxFbmFibGVkOiBib29sZWFuXG4gICkge1xuICAgIHN1cGVyKFxuICAgICAgaWQsXG4gICAgICBjcmVhdGVkLFxuICAgICAgc2VydmVyQ3JlYXRlZCxcbiAgICAgIGNyZWF0ZWRCeSxcbiAgICAgIG1vZGlmaWVkLFxuICAgICAgc2VydmVyTW9kaWZpZWQsXG4gICAgICBtb2RpZmllZEJ5LFxuICAgICAgY3JlYXRlZEJ5TmFtZSxcbiAgICAgIG1vZGlmaWVkQnlOYW1lLFxuICAgICAgYWNjb3VudCxcbiAgICAgIGFjY2Vzc0dyb3VwXG4gICAgKTtcbiAgICBpZiAodHlwZW9mIGNvbnRyb2xUeXBlID09PSAnc3RyaW5nJykge1xuICAgICAgdGhpcy5jb250cm9sVHlwZUlkID0gY29udHJvbFR5cGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29udHJvbFR5cGVJZCA9IGNvbnRyb2xUeXBlLmlkO1xuICAgIH1cbiAgfVxuXG4gIGdldCBjb250cm9sVHlwZU5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sVHlwZT8ubmFtZSB8fCAnJztcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgZGVmYXVsdFZhbHVlIHByb3BlcnR5IGlzIHJldHVybmVkIGZyb20gdGhlIGFwaSBhcyBhIHN0cmluZyBvciBudW1iZXIsXG4gICAqIGluIHRoZSBjYXNlIG9mIHN0cmluZywgaXQgbWF5YmUgYSBqc29uLiBUaGlzIGdldHRlciB3aWxsIHJldHVybiBhblxuICAgKiBvYmplY3QgaWYgdGhlIHZhbHVlIGlzIGEganNvbiBzdHJpbmdcbiAgICovXG4gIGdldCBkZWZhdWx0VmFsdWVEZWNvZGVkKCk6IFZhc0ZpZWxkRHRvVmFsdWUge1xuICAgIGlmICh0aGlzLmRlZmF1bHRWYWx1ZSA9PT0gJycgJiYgdGhpcy5jb250cm9sVHlwZSkge1xuICAgICAgc3dpdGNoICh0aGlzLmNvbnRyb2xUeXBlTmFtZSkge1xuICAgICAgICBjYXNlICdicmFuY2gnOlxuICAgICAgICBjYXNlICdjYW1lcmEnOlxuICAgICAgICBjYXNlICdjb250YWN0Jzoge1xuICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlICd0b2dnbGUnOiB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNoZWNrZWQ6IGZhbHNlLCBjb21tZW50OiAnJ1xuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5wYXJzZU1heWJlSnNvbih0aGlzLmRlZmF1bHRWYWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgbmFtZSBvZiB0aGlzIGNvbnRyb2wgdG8gYmUgdXNlZCBpbiB0aGUgcmVwb3J0IHRlbXBsYXRlc1xuICAgKiBpLmUuIGZpZWxkcy5mb28gLT4gZm9vXG4gICAqIEByZXR1cm4ge3N0cmluZ31cbiAgICovXG4gIGdldCByZXBvcnRUZW1wbGF0ZU5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lLnJlcGxhY2UoL15maWVsZHNcXC4vLCAnJyk7XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybiB7c3RyaW5nfVxuICAgKi9cbiAgZ2V0IHNhZmVOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubmFtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJuIHtWYXNDb250cm9sTW9kZWx9XG4gICAqL1xuICBzdGF0aWMgZW1wdHkoKTogVmFzQ29udHJvbE1vZGVsIHtcbiAgICByZXR1cm4gVmFzQ29udHJvbE1vZGVsLmZyb21EdG8oe1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5ldy1jYXBcbiAgICAgIGlkOiBVVUlELlVVSUQoKVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7VmFzQ29udHJvbER0b30gZHRvXG4gICAqIEByZXR1cm4ge1Zhc0NvbnRyb2xNb2RlbH1cbiAgICovXG4gIHN0YXRpYyBvdmVycmlkZSBmcm9tRHRvKFxuICAgIGR0bzogUGFydGlhbDxWYXNDb250cm9sRHRvPlxuICApOiBWYXNDb250cm9sTW9kZWwge1xuXG4gICAgY29uc3QgaGFuZGxlQ29udHJvbFR5cGUgPSAoYzogc3RyaW5nIHwgVmFzQ29udHJvbFR5cGVEdG8gfCB1bmRlZmluZWQpID0+IHtcbiAgICAgIGlmIChjID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIFZhc0NvbnRyb2xUeXBlTW9kZWwuZW1wdHkoKTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGMgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiBWYXNDb250cm9sVHlwZU1vZGVsLmZyb21EdG8oe2lkOiBjfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gVmFzQ29udHJvbFR5cGVNb2RlbC5mcm9tRHRvKGMpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICByZXR1cm4gbmV3IFZhc0NvbnRyb2xNb2RlbChcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuZXctY2FwXG4gICAgICBkdG8uaWQgfHwgJycsXG4gICAgICBkdG8uY3JlYXRlZCB8fCAnJyxcbiAgICAgIGR0by5zZXJ2ZXJDcmVhdGVkIHx8ICcnLFxuICAgICAgZHRvLmNyZWF0ZWRCeSB8fCAnJyxcbiAgICAgIGR0by5tb2RpZmllZCB8fCAnJyxcbiAgICAgIGR0by5zZXJ2ZXJNb2RpZmllZCB8fCAnJyxcbiAgICAgIGR0by5tb2RpZmllZEJ5IHx8ICcnLFxuICAgICAgZHRvLmNyZWF0ZWRCeU5hbWUgfHwgJycsXG4gICAgICBkdG8ubW9kaWZpZWRCeU5hbWUgfHwgJycsXG4gICAgICBkdG8uYWNjb3VudCB8fCAnJyxcbiAgICAgIGR0by5hY2Nlc3NHcm91cCB8fCAnJyxcbiAgICAgIGhhbmRsZUNvbnRyb2xUeXBlKGR0by5jb250cm9sVHlwZSkgYXMgYW55LFxuICAgICAgZHRvLmdyb3VwIHx8ICcnLFxuICAgICAgZHRvLnZhbGlkYXRvcnMgfHwgW10sXG4gICAgICBkdG8ubmFtZSB8fCAnJyxcbiAgICAgIGR0by50aXRsZSB8fCAnJyxcbiAgICAgIGR0by5saW5rYWJsZSB8fCBmYWxzZSxcbiAgICAgIGR0by5zZXF1ZW5jZSB8fCAwLFxuICAgICAgZHRvLmRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgZHRvLmRlZmF1bHRWYWx1ZSB8fCAnJyxcbiAgICAgIEpTT04ucGFyc2UoZHRvLmNvbmZpZyB8fCAne30nKSxcbiAgICAgIGR0by5kZXNjcmlwdGlvbkltYWdlIHx8ICcnLFxuICAgICAgZHRvLnBvcnRhbEVuYWJsZWQgfHwgZmFsc2VcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7YW55fSB2YWx1ZSB0aGUgdmFsdWUgdG8gYmUgcGFyc2VkXG4gICAqIEByZXR1cm4ge1Zhc0ZpZWxkRHRvVmFsdWV9IHRoZSBwYXJzZWQgdmFsdWVcbiAgICovXG4gIHByb3RlY3RlZCBwYXJzZU1heWJlSnNvbih2YWx1ZTogYW55KTogVmFzRmllbGREdG9WYWx1ZSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIEpTT04ucGFyc2UodmFsdWUpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybiB7VmFzQ29udHJvbER0b31cbiAgICovXG4gIHRvRHRvKCk6IFZhc0NvbnRyb2xEdG8ge1xuICAgIHJldHVybiB7XG4gICAgICBpZDogdGhpcy5pZCxcbiAgICAgIGNyZWF0ZWQ6IHRoaXMuY3JlYXRlZCxcbiAgICAgIHNlcnZlckNyZWF0ZWQ6IHRoaXMuc2VydmVyQ3JlYXRlZCxcbiAgICAgIGNyZWF0ZWRCeTogdGhpcy5jcmVhdGVkQnksXG4gICAgICBtb2RpZmllZDogdGhpcy5tb2RpZmllZCxcbiAgICAgIHNlcnZlck1vZGlmaWVkOiB0aGlzLnNlcnZlck1vZGlmaWVkLFxuICAgICAgbW9kaWZpZWRCeTogdGhpcy5tb2RpZmllZEJ5LFxuICAgICAgY3JlYXRlZEJ5TmFtZTogdGhpcy5jcmVhdGVkQnlOYW1lLFxuICAgICAgbW9kaWZpZWRCeU5hbWU6IHRoaXMubW9kaWZpZWRCeU5hbWUsXG4gICAgICBhY2NvdW50OiB0aGlzLmFjY291bnQsXG4gICAgICBhY2Nlc3NHcm91cDogdGhpcy5hY2Nlc3NHcm91cCxcbiAgICAgIGNvbnRyb2xUeXBlOiB0aGlzLmNvbnRyb2xUeXBlLnRvRHRvKCksXG4gICAgICBncm91cDogdGhpcy5ncm91cCxcbiAgICAgIHZhbGlkYXRvcnM6IHRoaXMudmFsaWRhdG9ycyxcbiAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgIHRpdGxlOiB0aGlzLnRpdGxlLFxuICAgICAgbGlua2FibGU6IHRoaXMubGlua2FibGUsXG4gICAgICBzZXF1ZW5jZTogdGhpcy5zZXF1ZW5jZSxcbiAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLmRlc2NyaXB0aW9uLFxuICAgICAgZGVmYXVsdFZhbHVlOiB0aGlzLmRlZmF1bHRWYWx1ZSxcbiAgICAgIGNvbmZpZzogSlNPTi5zdHJpbmdpZnkodGhpcy5jb25maWcpLFxuICAgICAgZGVzY3JpcHRpb25JbWFnZTogdGhpcy5kZXNjcmlwdGlvbkltYWdlLFxuICAgICAgcG9ydGFsRW5hYmxlZDogdGhpcy5wb3J0YWxFbmFibGVkXG4gICAgfTtcbiAgfVxuXG4gIG92ZXJyaWRlIHRvQXBpRHRvKG9wdGlvbnM/OiBhbnkpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3VwZXIudG9BcGlEdG8oKSxcbiAgICAgIHRpdGxlOiB0aGlzLnRpdGxlIHx8ICd+JyxcbiAgICAgIG5hbWU6IHRoaXMubmFtZSB8fCAnficsXG4gICAgICBwb3J0YWxFbmFibGVkOiB0aGlzLnBvcnRhbEVuYWJsZWQsXG4gICAgICBzZXF1ZW5jZTogdGhpcy5zZXF1ZW5jZSxcbiAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLmRlc2NyaXB0aW9uIHx8ICd+JyxcbiAgICAgIGRlZmF1bHRWYWx1ZTogdGhpcy5kZWZhdWx0VmFsdWUsXG4gICAgICBjb25maWc6IEpTT04uc3RyaW5naWZ5KHRoaXMuY29uZmlnKSxcbiAgICAgIGNvbnRyb2xUeXBlOiB0aGlzLmNvbnRyb2xUeXBlLmlkLFxuICAgICAgZ3JvdXA6IHRoaXMuZ3JvdXAsXG4gICAgICB2YWxpZGF0b3JzOiB0aGlzLnZhbGlkYXRvcnMsXG4gICAgICBsaW5rYWJsZTogdGhpcy5saW5rYWJsZVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFzLWZpZWxkLmR0by5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Zhcy1saWIvc3JjL2xpYi9lbnRpdHkvdmFzLWZpZWxkLmR0by50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFzSm9iRGF0YUR0byB9IGZyb20gJy4vdmFzLWpvYi1kYXRhLmR0byc7XG5pbXBvcnQgeyBWYXNGaWxlRHRvIH0gZnJvbSAnLi92YXMtZmlsZS5kdG8nO1xuaW1wb3J0IHsgR2VvTG9jYXRpb24gfSBmcm9tICcuLi9tb2RlbC9nZW8tbG9jYXRpb24nO1xuXG5leHBvcnQgZGVjbGFyZSB0eXBlIFZhc0ZpZWxkRHRvVmFsdWUgPVxuICBzdHJpbmdcbiAgfCBudW1iZXJcbiAgfCBib29sZWFuXG4gIHwgdW5kZWZpbmVkXG4gIHwgR2VvTG9jYXRpb25cbiAgfCBBcnJheTxvYmplY3QgfCBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgVmFzRmlsZUR0bz5cbiAgfCBSZWNvcmQ8c3RyaW5nLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxuICBvYmplY3QgfCBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgQXJyYXk8b2JqZWN0IHwgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IFZhc0ZpbGVEdG8+PjtcblxuZXhwb3J0IGludGVyZmFjZSBWYXNGaWVsZER0byBleHRlbmRzIFZhc0pvYkRhdGFEdG8ge1xuICBjb250cm9sOiBzdHJpbmc7XG4gIGZpZWxkSm9iUG9pbnRlcnM6IEFycmF5PHN0cmluZz47XG4gIHZhbHVlOiBWYXNGaWVsZER0b1ZhbHVlO1xuICB2ZXJzaW9uOiBudW1iZXI7XG4gIGNvbnRyb2xOYW1lOiBzdHJpbmc7XG4gIGNvbnRyb2xUaXRsZTogc3RyaW5nO1xuICBjb250cm9sVHlwZU5hbWU6IHN0cmluZztcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFzLWZpZWxkLmR0by5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Zhcy1saWIvc3JjL2xpYi9lbnRpdHkvdmFzLWZpZWxkLmR0by50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFzSm9iRGF0YUR0byB9IGZyb20gJy4vdmFzLWpvYi1kYXRhLmR0byc7XG5pbXBvcnQgeyBWYXNGaWxlRHRvIH0gZnJvbSAnLi92YXMtZmlsZS5kdG8nO1xuaW1wb3J0IHsgR2VvTG9jYXRpb24gfSBmcm9tICcuLi9tb2RlbC9nZW8tbG9jYXRpb24nO1xuaW1wb3J0IHsgVmFzRnVuY3Rpb25Db250cm9sVmFsdWVEdG8gfSBmcm9tICcuLi9jb250cm9sLXZhbHVlJztcbmltcG9ydCB7IFZhc0NhbWVyYUNvbnRyb2xWYWx1ZU1vZGVsIH0gZnJvbSAnLi4vY29udHJvbC12YWx1ZSc7XG5cbmRlY2xhcmUgdHlwZSBGaWVsZFZhbHVlVHlwZSA9XG4gIHN0cmluZ1xuICB8IG51bWJlclxuICB8IGJvb2xlYW5cbiAgfCBudWxsXG4gIHwgR2VvTG9jYXRpb25cbiAgfCBBcnJheTxvYmplY3QgfCBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgVmFzRmlsZUR0bz5cbiAgfCBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4gIHwgVmFzQ2FtZXJhQ29udHJvbFZhbHVlTW9kZWxcbiAgfCBWYXNGdW5jdGlvbkNvbnRyb2xWYWx1ZUR0b1xuICA7XG5cbmV4cG9ydCBkZWNsYXJlIHR5cGUgVmFzRmllbGREdG9WYWx1ZSA9XG4gIEZpZWxkVmFsdWVUeXBlXG4gIHwgUmVjb3JkPHN0cmluZywgRmllbGRWYWx1ZVR5cGU+XG4gIDtcblxuZXhwb3J0IGludGVyZmFjZSBWYXNGaWVsZER0byBleHRlbmRzIFZhc0pvYkRhdGFEdG8ge1xuICBjb250cm9sOiBzdHJpbmc7XG4gIGZpZWxkSm9iUG9pbnRlcnM6IEFycmF5PHN0cmluZz47XG4gIHZhbHVlOiBWYXNGaWVsZER0b1ZhbHVlO1xuICB2ZXJzaW9uOiBudW1iZXI7XG4gIGNvbnRyb2xOYW1lOiBzdHJpbmc7XG4gIGNvbnRyb2xUaXRsZTogc3RyaW5nO1xuICBjb250cm9sVHlwZU5hbWU6IHN0cmluZztcbn1cbiJdfQ==