@itwin/map-layers-formats 4.0.0-dev.52 → 4.0.0-dev.55

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 (148) hide show
  1. package/.rush/temp/operation/build_ci/state.json +1 -1
  2. package/.rush/temp/operation/cover/state.json +1 -1
  3. package/.rush/temp/operation/docs/state.json +1 -1
  4. package/.rush/temp/package-deps_build_ci.json +3 -3
  5. package/.rush/temp/package-deps_cover.json +3 -3
  6. package/.rush/temp/package-deps_docs.json +3 -3
  7. package/.rush/temp/shrinkwrap-deps.json +44 -51
  8. package/lib/cjs/ArcGisFeature/ArcGisFeatureFormat.d.ts +8 -8
  9. package/lib/cjs/ArcGisFeature/ArcGisFeatureFormat.js +14 -14
  10. package/lib/cjs/ArcGisFeature/ArcGisFeatureFormat.js.map +1 -1
  11. package/lib/cjs/ArcGisFeature/ArcGisFeatureJSON.d.ts +14 -14
  12. package/lib/cjs/ArcGisFeature/ArcGisFeatureJSON.js +132 -132
  13. package/lib/cjs/ArcGisFeature/ArcGisFeaturePBF.d.ts +14 -14
  14. package/lib/cjs/ArcGisFeature/ArcGisFeaturePBF.js +200 -200
  15. package/lib/cjs/ArcGisFeature/ArcGisFeatureProvider.d.ts +44 -44
  16. package/lib/cjs/ArcGisFeature/ArcGisFeatureProvider.js +421 -421
  17. package/lib/cjs/ArcGisFeature/ArcGisFeatureProvider.js.map +1 -1
  18. package/lib/cjs/ArcGisFeature/ArcGisFeatureQuery.d.ts +92 -92
  19. package/lib/cjs/ArcGisFeature/ArcGisFeatureQuery.d.ts.map +1 -1
  20. package/lib/cjs/ArcGisFeature/ArcGisFeatureQuery.js +82 -82
  21. package/lib/cjs/ArcGisFeature/ArcGisFeatureReader.d.ts +17 -17
  22. package/lib/cjs/ArcGisFeature/ArcGisFeatureReader.js +33 -33
  23. package/lib/cjs/ArcGisFeature/ArcGisFeatureRenderer.d.ts +32 -32
  24. package/lib/cjs/ArcGisFeature/ArcGisFeatureRenderer.js +142 -142
  25. package/lib/cjs/ArcGisFeature/ArcGisFeatureResponse.d.ts +16 -16
  26. package/lib/cjs/ArcGisFeature/ArcGisFeatureResponse.d.ts.map +1 -1
  27. package/lib/cjs/ArcGisFeature/ArcGisFeatureResponse.js +42 -42
  28. package/lib/cjs/ArcGisFeature/ArcGisSymbologyRenderer.d.ts +85 -85
  29. package/lib/cjs/ArcGisFeature/ArcGisSymbologyRenderer.d.ts.map +1 -1
  30. package/lib/cjs/ArcGisFeature/ArcGisSymbologyRenderer.js +189 -189
  31. package/lib/cjs/ArcGisFeature/ArcGisSymbologyRenderer.js.map +1 -1
  32. package/lib/cjs/ArcGisFeature/esriPBuffer.gen.d.ts +1063 -1063
  33. package/lib/cjs/ArcGisFeature/esriPBuffer.gen.js +2270 -2270
  34. package/lib/cjs/map-layers-formats.d.ts +8 -8
  35. package/lib/cjs/map-layers-formats.js +28 -24
  36. package/lib/cjs/map-layers-formats.js.map +1 -1
  37. package/lib/cjs/mapLayersFormats.d.ts +10 -10
  38. package/lib/cjs/mapLayersFormats.js +28 -28
  39. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.d.ts +1 -1
  40. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.js +34 -34
  41. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureJSON.test.d.ts +1 -1
  42. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureJSON.test.js +161 -161
  43. package/lib/cjs/test/ArcGisFeature/ArcGisFeaturePBF.test.d.ts +1 -1
  44. package/lib/cjs/test/ArcGisFeature/ArcGisFeaturePBF.test.js +167 -167
  45. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureProvider.test.d.ts +1 -1
  46. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureProvider.test.js +679 -679
  47. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureProvider.test.js.map +1 -1
  48. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureQuery.test.d.ts +1 -1
  49. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureQuery.test.js +103 -103
  50. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureRenderer.test.d.ts +1 -1
  51. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureRenderer.test.js +214 -214
  52. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureResponse.test.d.ts +1 -1
  53. package/lib/cjs/test/ArcGisFeature/ArcGisFeatureResponse.test.js +94 -94
  54. package/lib/cjs/test/ArcGisFeature/ArcGisSymbologyRenderer.test.d.ts +1 -1
  55. package/lib/cjs/test/ArcGisFeature/ArcGisSymbologyRenderer.test.js +59 -59
  56. package/lib/cjs/test/ArcGisFeature/Mocks.d.ts +6 -6
  57. package/lib/cjs/test/ArcGisFeature/Mocks.js +18 -18
  58. package/lib/cjs/test/ArcGisFeature/NewYorkDataset.d.ts +55 -55
  59. package/lib/cjs/test/ArcGisFeature/NewYorkDataset.js +419 -419
  60. package/lib/cjs/test/ArcGisFeature/NewYorkDataset.js.map +1 -1
  61. package/lib/cjs/test/ArcGisFeature/PhillyLandmarksDataset.d.ts +1042 -1042
  62. package/lib/cjs/test/ArcGisFeature/PhillyLandmarksDataset.js +426 -426
  63. package/lib/cjs/test/ArcGisFeature/PhillyLandmarksDataset.js.map +1 -1
  64. package/lib/cjs/test/coverage/.nyc_output/186e5c44-6980-4d7a-9c52-bb4c9af0ad82.json +1 -0
  65. package/lib/cjs/test/coverage/.nyc_output/processinfo/186e5c44-6980-4d7a-9c52-bb4c9af0ad82.json +1 -0
  66. package/lib/cjs/test/coverage/.nyc_output/processinfo/a4fe7565-9b86-4573-8375-3819c82246d8.json +1 -0
  67. package/lib/cjs/test/coverage/.nyc_output/processinfo/index.json +1 -1
  68. package/lib/cjs/test/coverage/cobertura-coverage.xml +39 -39
  69. package/lib/cjs/test/coverage/lcov-report/index.html +1 -1
  70. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureFormat.ts.html +1 -1
  71. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureJSON.ts.html +1 -1
  72. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeaturePBF.ts.html +1 -1
  73. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureProvider.ts.html +1 -1
  74. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureQuery.ts.html +1 -1
  75. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureReader.ts.html +1 -1
  76. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureRenderer.ts.html +1 -1
  77. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisFeatureResponse.ts.html +1 -1
  78. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/ArcGisSymbologyRenderer.ts.html +1 -1
  79. package/lib/cjs/test/coverage/lcov-report/src/ArcGisFeature/index.html +1 -1
  80. package/lib/cjs/test/coverage/lcov-report/src/index.html +1 -1
  81. package/lib/cjs/test/coverage/lcov-report/src/map-layers-formats.ts.html +1 -1
  82. package/lib/cjs/test/coverage/lcov-report/src/mapLayersFormats.ts.html +1 -1
  83. package/lib/cjs/test/coverage/lcov.info +47 -47
  84. package/lib/cjs/tsconfig.tsbuildinfo +1 -1
  85. package/lib/esm/ArcGisFeature/ArcGisFeatureFormat.d.ts +8 -8
  86. package/lib/esm/ArcGisFeature/ArcGisFeatureFormat.js +11 -10
  87. package/lib/esm/ArcGisFeature/ArcGisFeatureFormat.js.map +1 -1
  88. package/lib/esm/ArcGisFeature/ArcGisFeatureJSON.d.ts +14 -14
  89. package/lib/esm/ArcGisFeature/ArcGisFeatureJSON.js +128 -128
  90. package/lib/esm/ArcGisFeature/ArcGisFeaturePBF.d.ts +14 -14
  91. package/lib/esm/ArcGisFeature/ArcGisFeaturePBF.js +196 -196
  92. package/lib/esm/ArcGisFeature/ArcGisFeatureProvider.d.ts +44 -44
  93. package/lib/esm/ArcGisFeature/ArcGisFeatureProvider.js +418 -417
  94. package/lib/esm/ArcGisFeature/ArcGisFeatureProvider.js.map +1 -1
  95. package/lib/esm/ArcGisFeature/ArcGisFeatureQuery.d.ts +92 -92
  96. package/lib/esm/ArcGisFeature/ArcGisFeatureQuery.d.ts.map +1 -1
  97. package/lib/esm/ArcGisFeature/ArcGisFeatureQuery.js +78 -78
  98. package/lib/esm/ArcGisFeature/ArcGisFeatureReader.d.ts +17 -17
  99. package/lib/esm/ArcGisFeature/ArcGisFeatureReader.js +29 -29
  100. package/lib/esm/ArcGisFeature/ArcGisFeatureRenderer.d.ts +32 -32
  101. package/lib/esm/ArcGisFeature/ArcGisFeatureRenderer.js +138 -138
  102. package/lib/esm/ArcGisFeature/ArcGisFeatureResponse.d.ts +16 -16
  103. package/lib/esm/ArcGisFeature/ArcGisFeatureResponse.d.ts.map +1 -1
  104. package/lib/esm/ArcGisFeature/ArcGisFeatureResponse.js +38 -38
  105. package/lib/esm/ArcGisFeature/ArcGisSymbologyRenderer.d.ts +85 -85
  106. package/lib/esm/ArcGisFeature/ArcGisSymbologyRenderer.d.ts.map +1 -1
  107. package/lib/esm/ArcGisFeature/ArcGisSymbologyRenderer.js +183 -182
  108. package/lib/esm/ArcGisFeature/ArcGisSymbologyRenderer.js.map +1 -1
  109. package/lib/esm/ArcGisFeature/esriPBuffer.gen.d.ts +1063 -1063
  110. package/lib/esm/ArcGisFeature/esriPBuffer.gen.js +2267 -2267
  111. package/lib/esm/map-layers-formats.d.ts +8 -8
  112. package/lib/esm/map-layers-formats.js +12 -12
  113. package/lib/esm/mapLayersFormats.d.ts +10 -10
  114. package/lib/esm/mapLayersFormats.js +24 -24
  115. package/lib/esm/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.d.ts +1 -1
  116. package/lib/esm/test/ArcGisFeature/ArcGisFeatureFeatureFormats.test.js +32 -32
  117. package/lib/esm/test/ArcGisFeature/ArcGisFeatureJSON.test.d.ts +1 -1
  118. package/lib/esm/test/ArcGisFeature/ArcGisFeatureJSON.test.js +159 -159
  119. package/lib/esm/test/ArcGisFeature/ArcGisFeaturePBF.test.d.ts +1 -1
  120. package/lib/esm/test/ArcGisFeature/ArcGisFeaturePBF.test.js +165 -165
  121. package/lib/esm/test/ArcGisFeature/ArcGisFeatureProvider.test.d.ts +1 -1
  122. package/lib/esm/test/ArcGisFeature/ArcGisFeatureProvider.test.js +677 -677
  123. package/lib/esm/test/ArcGisFeature/ArcGisFeatureProvider.test.js.map +1 -1
  124. package/lib/esm/test/ArcGisFeature/ArcGisFeatureQuery.test.d.ts +1 -1
  125. package/lib/esm/test/ArcGisFeature/ArcGisFeatureQuery.test.js +101 -101
  126. package/lib/esm/test/ArcGisFeature/ArcGisFeatureRenderer.test.d.ts +1 -1
  127. package/lib/esm/test/ArcGisFeature/ArcGisFeatureRenderer.test.js +212 -212
  128. package/lib/esm/test/ArcGisFeature/ArcGisFeatureResponse.test.d.ts +1 -1
  129. package/lib/esm/test/ArcGisFeature/ArcGisFeatureResponse.test.js +92 -92
  130. package/lib/esm/test/ArcGisFeature/ArcGisSymbologyRenderer.test.d.ts +1 -1
  131. package/lib/esm/test/ArcGisFeature/ArcGisSymbologyRenderer.test.js +57 -57
  132. package/lib/esm/test/ArcGisFeature/Mocks.d.ts +6 -6
  133. package/lib/esm/test/ArcGisFeature/Mocks.js +15 -15
  134. package/lib/esm/test/ArcGisFeature/NewYorkDataset.d.ts +55 -55
  135. package/lib/esm/test/ArcGisFeature/NewYorkDataset.js +416 -415
  136. package/lib/esm/test/ArcGisFeature/NewYorkDataset.js.map +1 -1
  137. package/lib/esm/test/ArcGisFeature/PhillyLandmarksDataset.d.ts +1042 -1042
  138. package/lib/esm/test/ArcGisFeature/PhillyLandmarksDataset.js +423 -422
  139. package/lib/esm/test/ArcGisFeature/PhillyLandmarksDataset.js.map +1 -1
  140. package/lib/esm/tsconfig.tsbuildinfo +1 -1
  141. package/lib/test/junit_results.xml +52 -52
  142. package/map-layers-formats.build.log +2 -2
  143. package/package.json +13 -13
  144. package/src/test/ArcGisFeature/ArcGisFeatureProvider.test.ts +21 -21
  145. package/lib/cjs/test/coverage/.nyc_output/579ba75b-0cfc-4b77-82ad-4f939b76443a.json +0 -1
  146. package/lib/cjs/test/coverage/.nyc_output/processinfo/579ba75b-0cfc-4b77-82ad-4f939b76443a.json +0 -1
  147. package/lib/cjs/test/coverage/.nyc_output/processinfo/f0a37b08-29bc-49a6-a608-b82501dccee7.json +0 -1
  148. /package/lib/cjs/test/coverage/.nyc_output/{f0a37b08-29bc-49a6-a608-b82501dccee7.json → a4fe7565-9b86-4573-8375-3819c82246d8.json} +0 -0
@@ -1,133 +1,133 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.ArcGisFeatureJSON = void 0;
8
- const appui_abstract_1 = require("@itwin/appui-abstract");
9
- const core_frontend_1 = require("@itwin/core-frontend");
10
- const ArcGisFeatureReader_1 = require("./ArcGisFeatureReader");
11
- /** @internal */
12
- class ArcGisFeatureJSON extends ArcGisFeatureReader_1.ArcGisFeatureReader {
13
- constructor(settings, layerMetadata) {
14
- super(settings, layerMetadata);
15
- }
16
- readAndRender(response, renderer) {
17
- const responseObj = response.data;
18
- if (responseObj?.geometryType === "esriGeometryPolyline" || responseObj?.geometryType === "esriGeometryPolygon") {
19
- const fill = (responseObj.geometryType === "esriGeometryPolygon");
20
- for (const feature of responseObj.features) {
21
- let offset = 0;
22
- const lengths = [];
23
- const coords = [];
24
- if (feature?.geometry?.rings) {
25
- for (const ring of feature?.geometry?.rings) {
26
- offset = ArcGisFeatureJSON.deflateCoordinates(ring, coords, 2, offset);
27
- lengths.push(ring.length);
28
- }
29
- }
30
- else if (feature?.geometry?.paths) {
31
- for (const path of feature?.geometry?.paths) {
32
- offset = ArcGisFeatureJSON.deflateCoordinates(path, coords, 2, offset);
33
- lengths.push(path.length);
34
- }
35
- }
36
- renderer.renderPath(lengths, coords, fill, 2, renderer.transform === undefined);
37
- }
38
- }
39
- else if (responseObj?.geometryType === "esriGeometryPoint" || responseObj?.geometryType === "esriGeometryMultiPoint") {
40
- for (const feature of responseObj.features) {
41
- // TODO: Add support for multipoint
42
- if (feature.geometry) {
43
- const lengths = [];
44
- const coords = [feature.geometry.x, feature.geometry.y];
45
- renderer.renderPoint(lengths, coords, 2, renderer.transform === undefined);
46
- }
47
- }
48
- }
49
- }
50
- // Converts an [[x1,y1], [x2,y2], ...] to [x1,y1,x2,y2, ...]
51
- // stride is the number of dimensions
52
- // https://github.com/openlayers/openlayers/blob/7a2f87caca9ddc1912d910f56eb5637445fc11f6/src/ol/geom/flat/deflate.js#L26
53
- static deflateCoordinates(coordinates, flatCoordinates, stride, offset) {
54
- for (let i = 0, ii = coordinates.length; i < ii; ++i) {
55
- const coordinate = coordinates[i];
56
- for (let j = 0; j < stride; ++j)
57
- flatCoordinates[offset++] = coordinate[j];
58
- }
59
- return offset;
60
- }
61
- readFeatureInfo(response, featureInfos) {
62
- const responseObj = response.data;
63
- if (responseObj === undefined || !Array.isArray(responseObj.features))
64
- return;
65
- const layerInfo = { layerName: this._settings.name };
66
- // Create a signature index for every field name / type.
67
- const fieldsType = {};
68
- for (const fieldInfo of responseObj.fields) {
69
- fieldsType[fieldInfo.name] = fieldInfo.type;
70
- }
71
- const getStandardTypeName = (fieldType) => {
72
- switch (fieldType) {
73
- case "esriFieldTypeInteger":
74
- case "esriFieldTypeSmallInteger":
75
- case "esriFieldTypeOID":
76
- return appui_abstract_1.StandardTypeNames.Integer;
77
- case "esriFieldTypeDouble":
78
- return appui_abstract_1.StandardTypeNames.Double;
79
- case "esriFieldTypeSingle":
80
- return appui_abstract_1.StandardTypeNames.Float;
81
- case "esriFieldTypeDate":
82
- return appui_abstract_1.StandardTypeNames.DateTime;
83
- default:
84
- return appui_abstract_1.StandardTypeNames.String;
85
- }
86
- };
87
- const getRecordInfo = (fieldName, value) => {
88
- const propertyValue = { valueFormat: appui_abstract_1.PropertyValueFormat.Primitive };
89
- if (value === null) {
90
- value = undefined;
91
- }
92
- const strValue = `${value}`;
93
- const fieldType = fieldsType[fieldName];
94
- switch (fieldType) {
95
- case "esriFieldTypeInteger":
96
- case "esriFieldTypeSmallInteger":
97
- case "esriFieldTypeOID":
98
- propertyValue.value = value;
99
- break;
100
- case "esriFieldTypeDouble":
101
- case "esriFieldTypeSingle":
102
- propertyValue.value = this.toFixedWithoutPadding(value);
103
- break;
104
- case "esriFieldTypeDate":
105
- propertyValue.value = new Date(value);
106
- break;
107
- default:
108
- if (value !== undefined)
109
- propertyValue.value = strValue;
110
- break;
111
- }
112
- const typename = getStandardTypeName(fieldType);
113
- propertyValue.displayValue = this.getDisplayValue(typename, propertyValue.value);
114
- return new core_frontend_1.MapFeatureInfoRecord(propertyValue, { name: fieldName, displayLabel: fieldName, typename });
115
- };
116
- for (const feature of responseObj.features) {
117
- const subLayerInfo = {
118
- subLayerName: this._layerMetadata.name,
119
- displayFieldName: this._layerMetadata.name,
120
- records: [],
121
- };
122
- for (const [key, value] of Object.entries(feature.attributes))
123
- subLayerInfo.records?.push(getRecordInfo(key, value));
124
- if (layerInfo.info === undefined)
125
- layerInfo.info = [];
126
- if (!(layerInfo.info instanceof HTMLElement))
127
- layerInfo.info.push(subLayerInfo);
128
- }
129
- featureInfos.push(layerInfo);
130
- }
131
- }
132
- exports.ArcGisFeatureJSON = ArcGisFeatureJSON;
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.ArcGisFeatureJSON = void 0;
8
+ const appui_abstract_1 = require("@itwin/appui-abstract");
9
+ const core_frontend_1 = require("@itwin/core-frontend");
10
+ const ArcGisFeatureReader_1 = require("./ArcGisFeatureReader");
11
+ /** @internal */
12
+ class ArcGisFeatureJSON extends ArcGisFeatureReader_1.ArcGisFeatureReader {
13
+ constructor(settings, layerMetadata) {
14
+ super(settings, layerMetadata);
15
+ }
16
+ readAndRender(response, renderer) {
17
+ const responseObj = response.data;
18
+ if (responseObj?.geometryType === "esriGeometryPolyline" || responseObj?.geometryType === "esriGeometryPolygon") {
19
+ const fill = (responseObj.geometryType === "esriGeometryPolygon");
20
+ for (const feature of responseObj.features) {
21
+ let offset = 0;
22
+ const lengths = [];
23
+ const coords = [];
24
+ if (feature?.geometry?.rings) {
25
+ for (const ring of feature?.geometry?.rings) {
26
+ offset = ArcGisFeatureJSON.deflateCoordinates(ring, coords, 2, offset);
27
+ lengths.push(ring.length);
28
+ }
29
+ }
30
+ else if (feature?.geometry?.paths) {
31
+ for (const path of feature?.geometry?.paths) {
32
+ offset = ArcGisFeatureJSON.deflateCoordinates(path, coords, 2, offset);
33
+ lengths.push(path.length);
34
+ }
35
+ }
36
+ renderer.renderPath(lengths, coords, fill, 2, renderer.transform === undefined);
37
+ }
38
+ }
39
+ else if (responseObj?.geometryType === "esriGeometryPoint" || responseObj?.geometryType === "esriGeometryMultiPoint") {
40
+ for (const feature of responseObj.features) {
41
+ // TODO: Add support for multipoint
42
+ if (feature.geometry) {
43
+ const lengths = [];
44
+ const coords = [feature.geometry.x, feature.geometry.y];
45
+ renderer.renderPoint(lengths, coords, 2, renderer.transform === undefined);
46
+ }
47
+ }
48
+ }
49
+ }
50
+ // Converts an [[x1,y1], [x2,y2], ...] to [x1,y1,x2,y2, ...]
51
+ // stride is the number of dimensions
52
+ // https://github.com/openlayers/openlayers/blob/7a2f87caca9ddc1912d910f56eb5637445fc11f6/src/ol/geom/flat/deflate.js#L26
53
+ static deflateCoordinates(coordinates, flatCoordinates, stride, offset) {
54
+ for (let i = 0, ii = coordinates.length; i < ii; ++i) {
55
+ const coordinate = coordinates[i];
56
+ for (let j = 0; j < stride; ++j)
57
+ flatCoordinates[offset++] = coordinate[j];
58
+ }
59
+ return offset;
60
+ }
61
+ readFeatureInfo(response, featureInfos) {
62
+ const responseObj = response.data;
63
+ if (responseObj === undefined || !Array.isArray(responseObj.features))
64
+ return;
65
+ const layerInfo = { layerName: this._settings.name };
66
+ // Create a signature index for every field name / type.
67
+ const fieldsType = {};
68
+ for (const fieldInfo of responseObj.fields) {
69
+ fieldsType[fieldInfo.name] = fieldInfo.type;
70
+ }
71
+ const getStandardTypeName = (fieldType) => {
72
+ switch (fieldType) {
73
+ case "esriFieldTypeInteger":
74
+ case "esriFieldTypeSmallInteger":
75
+ case "esriFieldTypeOID":
76
+ return appui_abstract_1.StandardTypeNames.Integer;
77
+ case "esriFieldTypeDouble":
78
+ return appui_abstract_1.StandardTypeNames.Double;
79
+ case "esriFieldTypeSingle":
80
+ return appui_abstract_1.StandardTypeNames.Float;
81
+ case "esriFieldTypeDate":
82
+ return appui_abstract_1.StandardTypeNames.DateTime;
83
+ default:
84
+ return appui_abstract_1.StandardTypeNames.String;
85
+ }
86
+ };
87
+ const getRecordInfo = (fieldName, value) => {
88
+ const propertyValue = { valueFormat: appui_abstract_1.PropertyValueFormat.Primitive };
89
+ if (value === null) {
90
+ value = undefined;
91
+ }
92
+ const strValue = `${value}`;
93
+ const fieldType = fieldsType[fieldName];
94
+ switch (fieldType) {
95
+ case "esriFieldTypeInteger":
96
+ case "esriFieldTypeSmallInteger":
97
+ case "esriFieldTypeOID":
98
+ propertyValue.value = value;
99
+ break;
100
+ case "esriFieldTypeDouble":
101
+ case "esriFieldTypeSingle":
102
+ propertyValue.value = this.toFixedWithoutPadding(value);
103
+ break;
104
+ case "esriFieldTypeDate":
105
+ propertyValue.value = new Date(value);
106
+ break;
107
+ default:
108
+ if (value !== undefined)
109
+ propertyValue.value = strValue;
110
+ break;
111
+ }
112
+ const typename = getStandardTypeName(fieldType);
113
+ propertyValue.displayValue = this.getDisplayValue(typename, propertyValue.value);
114
+ return new core_frontend_1.MapFeatureInfoRecord(propertyValue, { name: fieldName, displayLabel: fieldName, typename });
115
+ };
116
+ for (const feature of responseObj.features) {
117
+ const subLayerInfo = {
118
+ subLayerName: this._layerMetadata.name,
119
+ displayFieldName: this._layerMetadata.name,
120
+ records: [],
121
+ };
122
+ for (const [key, value] of Object.entries(feature.attributes))
123
+ subLayerInfo.records?.push(getRecordInfo(key, value));
124
+ if (layerInfo.info === undefined)
125
+ layerInfo.info = [];
126
+ if (!(layerInfo.info instanceof HTMLElement))
127
+ layerInfo.info.push(subLayerInfo);
128
+ }
129
+ featureInfos.push(layerInfo);
130
+ }
131
+ }
132
+ exports.ArcGisFeatureJSON = ArcGisFeatureJSON;
133
133
  //# sourceMappingURL=ArcGisFeatureJSON.js.map
@@ -1,15 +1,15 @@
1
- import { ArcGisFeatureRenderer } from "./ArcGisFeatureRenderer";
2
- import { esriPBuffer } from "../ArcGisFeature/esriPBuffer.gen";
3
- import { MapLayerFeatureInfo } from "@itwin/core-frontend";
4
- import { ImageMapLayerSettings } from "@itwin/core-common";
5
- import { ArcGisFeatureReader } from "./ArcGisFeatureReader";
6
- import { ArcGisResponseData } from "./ArcGisFeatureResponse";
7
- import { ArcGisFeatureGeometryType } from "./ArcGisFeatureQuery";
8
- /** @internal */
9
- export declare class ArcGisFeaturePBF extends ArcGisFeatureReader {
10
- constructor(settings: ImageMapLayerSettings, layerMetadata: any);
11
- static getArcGisFeatureGeometryType(geomType: esriPBuffer.FeatureCollectionPBuffer.GeometryType): ArcGisFeatureGeometryType;
12
- readAndRender(response: ArcGisResponseData, renderer: ArcGisFeatureRenderer): void;
13
- readFeatureInfo(response: ArcGisResponseData, featureInfos: MapLayerFeatureInfo[]): void;
14
- }
1
+ import { ArcGisFeatureRenderer } from "./ArcGisFeatureRenderer";
2
+ import { esriPBuffer } from "../ArcGisFeature/esriPBuffer.gen";
3
+ import { MapLayerFeatureInfo } from "@itwin/core-frontend";
4
+ import { ImageMapLayerSettings } from "@itwin/core-common";
5
+ import { ArcGisFeatureReader } from "./ArcGisFeatureReader";
6
+ import { ArcGisResponseData } from "./ArcGisFeatureResponse";
7
+ import { ArcGisFeatureGeometryType } from "./ArcGisFeatureQuery";
8
+ /** @internal */
9
+ export declare class ArcGisFeaturePBF extends ArcGisFeatureReader {
10
+ constructor(settings: ImageMapLayerSettings, layerMetadata: any);
11
+ static getArcGisFeatureGeometryType(geomType: esriPBuffer.FeatureCollectionPBuffer.GeometryType): ArcGisFeatureGeometryType;
12
+ readAndRender(response: ArcGisResponseData, renderer: ArcGisFeatureRenderer): void;
13
+ readFeatureInfo(response: ArcGisResponseData, featureInfos: MapLayerFeatureInfo[]): void;
14
+ }
15
15
  //# sourceMappingURL=ArcGisFeaturePBF.d.ts.map