@ironcode/vas-lib 2.3.0 → 3.0.0-alpha.10

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 (143) hide show
  1. package/cjs/lib/control-value/vas-camera-control-value.model.d.ts +6 -2
  2. package/cjs/lib/control-value/vas-camera-control-value.model.d.ts.map +1 -1
  3. package/cjs/lib/control-value/vas-camera-control-value.model.js +10 -0
  4. package/cjs/lib/control-value/vas-camera-control-value.model.js.map +1 -1
  5. package/cjs/lib/entity/vas-base.model.d.ts +1 -1
  6. package/cjs/lib/entity/vas-base.model.d.ts.map +1 -1
  7. package/cjs/lib/entity/vas-base.model.js.map +1 -1
  8. package/cjs/lib/entity/vas-control.model.d.ts +4 -4
  9. package/cjs/lib/entity/vas-control.model.d.ts.map +1 -1
  10. package/cjs/lib/entity/vas-control.model.js +1 -1
  11. package/cjs/lib/entity/vas-control.model.js.map +1 -1
  12. package/cjs/lib/entity/vas-field.dto.d.ts +4 -7
  13. package/cjs/lib/entity/vas-field.dto.d.ts.map +1 -1
  14. package/cjs/lib/entity/vas-field.dto.js.map +1 -1
  15. package/cjs/lib/entity/vas-field.model.d.ts +4 -4
  16. package/cjs/lib/entity/vas-field.model.d.ts.map +1 -1
  17. package/cjs/lib/entity/vas-field.model.js +1 -1
  18. package/cjs/lib/entity/vas-field.model.js.map +1 -1
  19. package/cjs/lib/entity/vas-form.model.d.ts +4 -4
  20. package/cjs/lib/entity/vas-form.model.d.ts.map +1 -1
  21. package/cjs/lib/entity/vas-form.model.js +1 -1
  22. package/cjs/lib/entity/vas-form.model.js.map +1 -1
  23. package/cjs/lib/entity/vas-group.model.d.ts +2 -2
  24. package/cjs/lib/entity/vas-group.model.d.ts.map +1 -1
  25. package/cjs/lib/entity/vas-group.model.js.map +1 -1
  26. package/cjs/lib/entity/vas-job-copy.d.ts +12 -12
  27. package/cjs/lib/entity/vas-job-copy.d.ts.map +1 -1
  28. package/cjs/lib/entity/vas-job-copy.js.map +1 -1
  29. package/cjs/lib/entity/vas-job.dto.d.ts +12 -6
  30. package/cjs/lib/entity/vas-job.dto.d.ts.map +1 -1
  31. package/cjs/lib/entity/vas-job.dto.js.map +1 -1
  32. package/cjs/lib/entity/vas-job.model.d.ts +34 -142
  33. package/cjs/lib/entity/vas-job.model.d.ts.map +1 -1
  34. package/cjs/lib/entity/vas-job.model.js +248 -341
  35. package/cjs/lib/entity/vas-job.model.js.map +1 -1
  36. package/cjs/lib/model/estimate-control/estimate-control-value.dto.d.ts +14 -0
  37. package/cjs/lib/model/estimate-control/estimate-control-value.dto.d.ts.map +1 -0
  38. package/cjs/lib/model/estimate-control/estimate-control-value.dto.js +3 -0
  39. package/cjs/lib/model/estimate-control/estimate-control-value.dto.js.map +1 -0
  40. package/cjs/lib/model/estimate-control/estimate-control-value.model.d.ts +11 -0
  41. package/cjs/lib/model/estimate-control/estimate-control-value.model.d.ts.map +1 -0
  42. package/cjs/lib/model/estimate-control/estimate-control-value.model.js +84 -0
  43. package/cjs/lib/model/estimate-control/estimate-control-value.model.js.map +1 -0
  44. package/cjs/lib/model/estimate-control/estimate-item.dto.d.ts +16 -0
  45. package/cjs/lib/model/estimate-control/estimate-item.dto.d.ts.map +1 -0
  46. package/cjs/lib/model/estimate-control/estimate-item.dto.js +3 -0
  47. package/cjs/lib/model/estimate-control/estimate-item.dto.js.map +1 -0
  48. package/cjs/lib/model/estimate-control/estimate-item.model.d.ts +24 -0
  49. package/cjs/lib/model/estimate-control/estimate-item.model.d.ts.map +1 -0
  50. package/cjs/lib/model/estimate-control/estimate-item.model.js +121 -0
  51. package/cjs/lib/model/estimate-control/estimate-item.model.js.map +1 -0
  52. package/cjs/lib/model/estimate-control/estimate.dto.d.ts +37 -0
  53. package/cjs/lib/model/estimate-control/estimate.dto.d.ts.map +1 -0
  54. package/cjs/lib/model/estimate-control/estimate.dto.js +3 -0
  55. package/cjs/lib/model/estimate-control/estimate.dto.js.map +1 -0
  56. package/cjs/lib/model/estimate-control/estimate.model.d.ts +55 -0
  57. package/cjs/lib/model/estimate-control/estimate.model.d.ts.map +1 -0
  58. package/cjs/lib/model/estimate-control/estimate.model.js +279 -0
  59. package/cjs/lib/model/estimate-control/estimate.model.js.map +1 -0
  60. package/cjs/lib/model/estimate-control/estimate.types.d.ts +3 -0
  61. package/cjs/lib/model/estimate-control/estimate.types.d.ts.map +1 -0
  62. package/cjs/lib/model/estimate-control/estimate.types.js +3 -0
  63. package/cjs/lib/model/estimate-control/estimate.types.js.map +1 -0
  64. package/cjs/lib/model/estimate-control/index.d.ts +8 -0
  65. package/cjs/lib/model/estimate-control/index.d.ts.map +1 -0
  66. package/cjs/lib/model/estimate-control/index.js +11 -0
  67. package/cjs/lib/model/estimate-control/index.js.map +1 -0
  68. package/cjs/lib/model/firebase-document-meta.interface.d.ts +6 -0
  69. package/cjs/lib/model/firebase-document-meta.interface.d.ts.map +1 -0
  70. package/cjs/lib/model/firebase-document-meta.interface.js +3 -0
  71. package/cjs/lib/model/firebase-document-meta.interface.js.map +1 -0
  72. package/cjs/lib/model/index.d.ts +3 -0
  73. package/cjs/lib/model/index.d.ts.map +1 -1
  74. package/cjs/lib/model/index.js +3 -0
  75. package/cjs/lib/model/index.js.map +1 -1
  76. package/cjs/lib/model/report-invocation.d.ts +40 -0
  77. package/cjs/lib/model/report-invocation.d.ts.map +1 -0
  78. package/cjs/lib/model/report-invocation.js +3 -0
  79. package/cjs/lib/model/report-invocation.js.map +1 -0
  80. package/cjs/lib/utils/get-value-by-path.d.ts +5 -16
  81. package/cjs/lib/utils/get-value-by-path.d.ts.map +1 -1
  82. package/cjs/lib/utils/get-value-by-path.js +48 -59
  83. package/cjs/lib/utils/get-value-by-path.js.map +1 -1
  84. package/cjs/lib/utils/index.d.ts +8 -0
  85. package/cjs/lib/utils/index.d.ts.map +1 -0
  86. package/cjs/lib/utils/index.js +11 -0
  87. package/cjs/lib/utils/index.js.map +1 -0
  88. package/cjs/lib/utils/is-array-string.d.ts +3 -0
  89. package/cjs/lib/utils/is-array-string.d.ts.map +1 -1
  90. package/cjs/lib/utils/is-array-string.js +3 -0
  91. package/cjs/lib/utils/is-array-string.js.map +1 -1
  92. package/cjs/lib/utils/is-numeric.d.ts +2 -0
  93. package/cjs/lib/utils/is-numeric.d.ts.map +1 -0
  94. package/cjs/lib/utils/is-numeric.js +10 -0
  95. package/cjs/lib/utils/is-numeric.js.map +1 -0
  96. package/cjs/lib/utils/is-plain-object.d.ts +5 -0
  97. package/cjs/lib/utils/is-plain-object.d.ts.map +1 -0
  98. package/cjs/lib/utils/is-plain-object.js +10 -0
  99. package/cjs/lib/utils/is-plain-object.js.map +1 -0
  100. package/cjs/lib/utils/try-json.d.ts +6 -0
  101. package/cjs/lib/utils/try-json.d.ts.map +1 -0
  102. package/cjs/lib/utils/try-json.js +20 -0
  103. package/cjs/lib/utils/try-json.js.map +1 -0
  104. package/cjs/public-api.d.ts +1 -0
  105. package/cjs/public-api.d.ts.map +1 -1
  106. package/cjs/public-api.js +1 -0
  107. package/cjs/public-api.js.map +1 -1
  108. package/fesm2022/ironcode-vas-lib.mjs +831 -390
  109. package/fesm2022/ironcode-vas-lib.mjs.map +1 -1
  110. package/lib/control-value/vas-camera-control-value.model.d.ts +6 -2
  111. package/lib/entity/vas-base.model.d.ts +1 -1
  112. package/lib/entity/vas-control.model.d.ts +4 -4
  113. package/lib/entity/vas-field.dto.d.ts +4 -7
  114. package/lib/entity/vas-field.model.d.ts +4 -4
  115. package/lib/entity/vas-form.model.d.ts +4 -4
  116. package/lib/entity/vas-group.model.d.ts +2 -2
  117. package/lib/entity/vas-job-copy.d.ts +12 -12
  118. package/lib/entity/vas-job.dto.d.ts +12 -6
  119. package/lib/entity/vas-job.model.d.ts +34 -142
  120. package/lib/model/estimate-control/estimate-control-value.dto.d.ts +13 -0
  121. package/lib/model/estimate-control/estimate-control-value.model.d.ts +10 -0
  122. package/lib/model/estimate-control/estimate-item.dto.d.ts +15 -0
  123. package/lib/model/estimate-control/estimate-item.model.d.ts +23 -0
  124. package/lib/model/estimate-control/estimate.dto.d.ts +36 -0
  125. package/lib/model/estimate-control/estimate.model.d.ts +54 -0
  126. package/lib/model/estimate-control/estimate.types.d.ts +2 -0
  127. package/lib/model/estimate-control/index.d.ts +7 -0
  128. package/lib/model/firebase-document-meta.interface.d.ts +5 -0
  129. package/lib/model/index.d.ts +3 -0
  130. package/lib/model/report-invocation.d.ts +39 -0
  131. package/lib/utils/get-value-by-path.d.ts +5 -16
  132. package/lib/utils/index.d.ts +7 -0
  133. package/lib/utils/is-array-string.d.ts +3 -0
  134. package/lib/utils/is-numeric.d.ts +1 -0
  135. package/lib/utils/is-plain-object.d.ts +4 -0
  136. package/lib/utils/omit.d.ts +7 -0
  137. package/lib/utils/try-json.d.ts +5 -0
  138. package/package.json +3 -2
  139. package/public-api.d.ts +1 -0
  140. package/cjs/lib/entity/vas-job.model.spec-data.d.ts +0 -2
  141. package/cjs/lib/entity/vas-job.model.spec-data.d.ts.map +0 -1
  142. package/cjs/lib/entity/vas-job.model.spec-data.js +0 -29
  143. package/cjs/lib/entity/vas-job.model.spec-data.js.map +0 -1
@@ -0,0 +1,39 @@
1
+ import { FieldValueType } from '../entity';
2
+ export interface ReportInvocationFile {
3
+ id: string;
4
+ name: string;
5
+ sequence: number;
6
+ fileSize: number;
7
+ mimeType: string;
8
+ url: string;
9
+ embedLink: boolean;
10
+ rotation: number;
11
+ description: string;
12
+ displayAs: string;
13
+ displayedName: string;
14
+ group: string;
15
+ index: number;
16
+ }
17
+ export interface ReportInvocation {
18
+ id: string;
19
+ reportLayout: string;
20
+ data: {
21
+ id: string;
22
+ account: string;
23
+ reference: string;
24
+ jobDate: string;
25
+ assigneeId: string;
26
+ assigneeName: string;
27
+ jobStatus: string;
28
+ jobType: string;
29
+ /** @deprecated */
30
+ timeZoneOffset?: number;
31
+ files: {
32
+ photo: Array<ReportInvocationFile>;
33
+ documents: Array<ReportInvocationFile>;
34
+ other: Array<ReportInvocationFile>;
35
+ pdf: Array<ReportInvocationFile>;
36
+ };
37
+ fields: Record<string, FieldValueType>;
38
+ };
39
+ }
@@ -1,19 +1,8 @@
1
- import { VasFieldDtoValue } from '../entity/vas-field.dto';
2
1
  /**
3
- * A non sophisticated way to get values from the job via paths. For example:
2
+ * Get a value from an object by path.
4
3
  *
5
- * getValueByPath(
6
- * ['foo', 'bar'],
7
- * {
8
- * foo: {
9
- * bar: 'value'
10
- * }
11
- * }
12
- * );
13
- *
14
- * will return "value"
15
- * @param {string[]} path
16
- * @param {Record<string, VasFieldDtoValue>} object
17
- * @return {T | undefined}
4
+ * Path can be an array of strings or numbers.
5
+ * Path can be a string using dot notation, which can include square brackets to
6
+ * access array positions e.g. foo.bar[0].baz
18
7
  */
19
- export declare const getValueByPath: <T extends VasFieldDtoValue>(path: string[], object: Record<string, VasFieldDtoValue | Record<string, VasFieldDtoValue>>) => T | undefined;
8
+ export declare function getValueByPath<T>(path: string | number | Array<string | number>, object: null | Record<string, any>): T | null | undefined;
@@ -0,0 +1,7 @@
1
+ export * from './get-value-by-path';
2
+ export * from './is-array-string';
3
+ export * from './is-numeric';
4
+ export * from './is-plain-object';
5
+ export * from './omit';
6
+ export * from './only';
7
+ export * from './try-json';
@@ -1 +1,4 @@
1
+ /**
2
+ * Return true IFF the array contains only strings
3
+ */
1
4
  export declare const isArrayString: (value: any) => value is Array<string>;
@@ -0,0 +1 @@
1
+ export declare function isNumeric(value: string | number): value is number;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Return true if the argument is a plain object {}, i.e. not an array, null.
3
+ */
4
+ export declare function isPlainObject<T>(value: any): value is T;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Return an object omitting properties specified by key(s)
3
+ *
4
+ * @param obj object to be processed
5
+ * @param omitKey key or array of keys to be omitted
6
+ */
7
+ export declare const omit: <T extends Record<string, any>>(obj: T, omitKey: string | Array<string>) => Partial<T>;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Try to parse the value as JSON if it looks like a JSON encoded string, return
3
+ * the original value if it's not a JSON string or parsing fails.
4
+ */
5
+ export declare const tryJson: <T>(value: T) => Record<string, any> | T;
package/package.json CHANGED
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "name": "@ironcode/vas-lib",
3
- "version": "2.3.0",
3
+ "version": "3.0.0-alpha.10",
4
4
  "peerDependencies": {
5
5
  "angular2-uuid": "^1.1.1",
6
- "moment": "^2.0.0"
6
+ "moment": "^2.0.0",
7
+ "uuid": "^9.0.1"
7
8
  },
8
9
  "dependencies": {
9
10
  "tslib": "^2.3.0"
package/public-api.d.ts CHANGED
@@ -3,3 +3,4 @@ export * from './lib/controls-config/index';
3
3
  export * from './lib/elastic/index';
4
4
  export * from './lib/entity/index';
5
5
  export * from './lib/model/index';
6
+ export * from './lib/utils';
@@ -1,2 +0,0 @@
1
- export declare const formDto1Group1Control: import("@ironcode/vas-lib").VasFormDto;
2
- //# sourceMappingURL=vas-job.model.spec-data.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vas-job.model.spec-data.d.ts","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-job.model.spec-data.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,qBAAqB,wCAsBxB,CAAC"}
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.formDto1Group1Control = void 0;
4
- const vas_lib_1 = require("@ironcode/vas-lib");
5
- const vas_lib_2 = require("@ironcode/vas-lib");
6
- const vas_lib_3 = require("@ironcode/vas-lib");
7
- const vas_lib_4 = require("@ironcode/vas-lib");
8
- exports.formDto1Group1Control = vas_lib_3.VasFormModel.fromDto({
9
- id: 'form',
10
- geoLocationEnabled: false,
11
- groups: [
12
- vas_lib_2.VasGroupModel.fromDto({
13
- id: 'group',
14
- name: 'groupa',
15
- title: 'Group A',
16
- scoreWeight: 1,
17
- controls: [
18
- vas_lib_4.VasControlModel.fromDto({
19
- id: 'control',
20
- controlType: vas_lib_1.VasControlTypeModel.fromDto({
21
- name: 'text'
22
- }).toDto(),
23
- name: 'fields.foo'
24
- }).toDto()
25
- ],
26
- }).toDto()
27
- ],
28
- }).toDto();
29
- //# sourceMappingURL=vas-job.model.spec-data.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vas-job.model.spec-data.js","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-job.model.spec-data.ts"],"names":[],"mappings":";;;AAAA,+CAAwD;AACxD,+CAAkD;AAClD,+CAAiD;AACjD,+CAAoD;AAEvC,QAAA,qBAAqB,GAAG,sBAAY,CAAC,OAAO,CAAC;IACxD,EAAE,EAAE,MAAM;IACV,kBAAkB,EAAE,KAAK;IACzB,MAAM,EAAE;QACN,uBAAa,CAAC,OAAO,CACnB;YACE,EAAE,EAAE,OAAO;YACX,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,CAAC;YACd,QAAQ,EAAE;gBACR,yBAAe,CAAC,OAAO,CAAC;oBACtB,EAAE,EAAE,SAAS;oBACb,WAAW,EAAE,6BAAmB,CAAC,OAAO,CAAC;wBACvC,IAAI,EAAE,MAAM;qBACb,CAAC,CAAC,KAAK,EAAE;oBACV,IAAI,EAAE,YAAY;iBACnB,CAAC,CAAC,KAAK,EAAE;aACX;SACF,CACF,CAAC,KAAK,EAAE;KACV;CACF,CAAC,CAAC,KAAK,EAAE,CAAC","sourcesContent":["import { VasControlTypeModel } from '@ironcode/vas-lib';\nimport { VasGroupModel } from '@ironcode/vas-lib';\nimport { VasFormModel } from '@ironcode/vas-lib';\nimport { VasControlModel } from '@ironcode/vas-lib';\n\nexport const formDto1Group1Control = VasFormModel.fromDto({\n id: 'form',\n geoLocationEnabled: false,\n groups: [\n VasGroupModel.fromDto(\n {\n id: 'group',\n name: 'groupa',\n title: 'Group A',\n scoreWeight: 1,\n controls: [\n VasControlModel.fromDto({\n id: 'control',\n controlType: VasControlTypeModel.fromDto({\n name: 'text'\n }).toDto(),\n name: 'fields.foo'\n }).toDto()\n ],\n }\n ).toDto()\n ],\n}).toDto();\n"]}