bruce-models 7.1.41 → 7.1.42
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.
- package/dist/bruce-models.es5.js +66 -11
- package/dist/bruce-models.es5.js.map +1 -1
- package/dist/bruce-models.umd.js +66 -11
- package/dist/bruce-models.umd.js.map +1 -1
- package/dist/lib/bruce-models.js +1 -1
- package/dist/lib/entity/entity-coords.js +65 -10
- package/dist/lib/entity/entity-coords.js.map +1 -1
- package/dist/types/bruce-models.d.ts +1 -1
- package/dist/types/entity/entity-coords.d.ts +20 -5
- package/package.json +1 -1
package/dist/lib/bruce-models.js
CHANGED
|
@@ -123,5 +123,5 @@ __exportStar(require("./mcp/navigator-chat"), exports);
|
|
|
123
123
|
__exportStar(require("./mcp/navigator-mcp-websocket"), exports);
|
|
124
124
|
__exportStar(require("./change-set/change-set"), exports);
|
|
125
125
|
// This is updated with the package.json version on build.
|
|
126
|
-
exports.VERSION = "7.1.
|
|
126
|
+
exports.VERSION = "7.1.42";
|
|
127
127
|
//# sourceMappingURL=bruce-models.js.map
|
|
@@ -26,19 +26,46 @@ var EntityCoords;
|
|
|
26
26
|
*/
|
|
27
27
|
function GetEntityCoords(params) {
|
|
28
28
|
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
-
let { api, rootEntityId
|
|
29
|
+
let { api, rootEntityId, req: reqParams } = params;
|
|
30
30
|
if (!api) {
|
|
31
31
|
api = environment_1.ENVIRONMENT.Api().GetBruceApi();
|
|
32
32
|
}
|
|
33
|
-
const
|
|
33
|
+
const entityIds = (Array.isArray(rootEntityId) ? rootEntityId : [rootEntityId]).filter(id => !!id);
|
|
34
|
+
if (!entityIds.length) {
|
|
35
|
+
throw ("Root Entity ID is required.");
|
|
36
|
+
}
|
|
37
|
+
const cacheKey = GetCacheKey(Array.isArray(rootEntityId) ? entityIds : entityIds[0]);
|
|
38
|
+
const cache = api.GetCacheItem(cacheKey, reqParams);
|
|
34
39
|
if (cache === null || cache === void 0 ? void 0 : cache.found) {
|
|
35
40
|
return cache.data;
|
|
36
41
|
}
|
|
37
42
|
const prom = new Promise((res, rej) => __awaiter(this, void 0, void 0, function* () {
|
|
43
|
+
var _a;
|
|
38
44
|
try {
|
|
39
|
-
|
|
45
|
+
if (entityIds.length == 1) {
|
|
46
|
+
const data = yield api.GET(`entity/${entityIds[0]}/ucs`, reqParams);
|
|
47
|
+
res({
|
|
48
|
+
coords: data,
|
|
49
|
+
coordsMap: {
|
|
50
|
+
[entityIds[0]]: data
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
const data = yield api.GET(`entity/ucs?rootId=${entityIds.map(encodeURIComponent).join(",")}`, reqParams);
|
|
56
|
+
const coords = (_a = data === null || data === void 0 ? void 0 : data.Items) === null || _a === void 0 ? void 0 : _a[0];
|
|
57
|
+
if (!coords) {
|
|
58
|
+
throw ("No Entity coordinates found.");
|
|
59
|
+
}
|
|
60
|
+
const coordsMap = {};
|
|
61
|
+
for (const item of data.Items || []) {
|
|
62
|
+
if (item === null || item === void 0 ? void 0 : item["Entity.ID"]) {
|
|
63
|
+
coordsMap[item["Entity.ID"]] = item;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
40
66
|
res({
|
|
41
|
-
coords
|
|
67
|
+
coords,
|
|
68
|
+
coordsMap
|
|
42
69
|
});
|
|
43
70
|
}
|
|
44
71
|
catch (e) {
|
|
@@ -46,7 +73,7 @@ var EntityCoords;
|
|
|
46
73
|
}
|
|
47
74
|
}));
|
|
48
75
|
api.SetCacheItem({
|
|
49
|
-
key:
|
|
76
|
+
key: cacheKey,
|
|
50
77
|
value: prom,
|
|
51
78
|
req: reqParams
|
|
52
79
|
});
|
|
@@ -90,7 +117,7 @@ var EntityCoords;
|
|
|
90
117
|
"test": params.test
|
|
91
118
|
}, reqParams);
|
|
92
119
|
if (!params.test) {
|
|
93
|
-
api
|
|
120
|
+
InvalidateCoordsCache(api, entityId);
|
|
94
121
|
}
|
|
95
122
|
return {
|
|
96
123
|
coords: res
|
|
@@ -137,7 +164,7 @@ var EntityCoords;
|
|
|
137
164
|
"test": params.test
|
|
138
165
|
}, reqParams);
|
|
139
166
|
if (!params.test) {
|
|
140
|
-
api
|
|
167
|
+
InvalidateCoordsCache(api, entityId);
|
|
141
168
|
}
|
|
142
169
|
return {
|
|
143
170
|
coords: res
|
|
@@ -171,7 +198,7 @@ var EntityCoords;
|
|
|
171
198
|
"test": params.test
|
|
172
199
|
}, reqParams);
|
|
173
200
|
if (!params.test) {
|
|
174
|
-
api
|
|
201
|
+
InvalidateCoordsCache(api, entityId);
|
|
175
202
|
}
|
|
176
203
|
return {
|
|
177
204
|
coords: res
|
|
@@ -190,7 +217,8 @@ var EntityCoords;
|
|
|
190
217
|
if (!api) {
|
|
191
218
|
api = environment_1.ENVIRONMENT.Api().GetBruceApi();
|
|
192
219
|
}
|
|
193
|
-
|
|
220
|
+
yield api.DELETE(`entity/${entityId}/ucs`, reqParams);
|
|
221
|
+
InvalidateCoordsCache(api, entityId);
|
|
194
222
|
});
|
|
195
223
|
}
|
|
196
224
|
EntityCoords.UnlinkCoords = UnlinkCoords;
|
|
@@ -205,8 +233,35 @@ var EntityCoords;
|
|
|
205
233
|
* @returns
|
|
206
234
|
*/
|
|
207
235
|
function GetCacheKey(entityId) {
|
|
208
|
-
|
|
236
|
+
const isList = Array.isArray(entityId);
|
|
237
|
+
const id = isList ? entityId.join(",") : entityId;
|
|
238
|
+
return api_1.Api.ECacheKey.EntityCoords + api_1.Api.ECacheKey.Entity + (isList ? api_1.Api.ECacheKey.ListId : api_1.Api.ECacheKey.Id) + id;
|
|
209
239
|
}
|
|
210
240
|
EntityCoords.GetCacheKey = GetCacheKey;
|
|
241
|
+
/**
|
|
242
|
+
* Invalidates all cached coords that involve the given Entity ID.
|
|
243
|
+
*
|
|
244
|
+
* Example:
|
|
245
|
+
* ```
|
|
246
|
+
* const api: BruceApi.Api = ...;
|
|
247
|
+
* InvalidateCoordsCache(api, "123");
|
|
248
|
+
* ```
|
|
249
|
+
* @param api
|
|
250
|
+
* @param entityId Single Entity whose cached coords should be invalidated.
|
|
251
|
+
*/
|
|
252
|
+
function InvalidateCoordsCache(api, entityId) {
|
|
253
|
+
// Remove the exact single-entity cache entry.
|
|
254
|
+
api.Cache.Remove(GetCacheKey(entityId));
|
|
255
|
+
// Remove any multi-Entity cache entries whose ID list includes this Entity.
|
|
256
|
+
const multiPrefix = api_1.Api.ECacheKey.EntityCoords + api_1.Api.ECacheKey.Entity + api_1.Api.ECacheKey.ListId;
|
|
257
|
+
api.Cache.RemoveBy(key => {
|
|
258
|
+
const k = String(key);
|
|
259
|
+
if (!k.startsWith(multiPrefix)) {
|
|
260
|
+
return false;
|
|
261
|
+
}
|
|
262
|
+
return k.slice(multiPrefix.length).split(",").includes(entityId);
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
EntityCoords.InvalidateCoordsCache = InvalidateCoordsCache;
|
|
211
266
|
})(EntityCoords = exports.EntityCoords || (exports.EntityCoords = {}));
|
|
212
267
|
//# sourceMappingURL=entity-coords.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-coords.js","sourceRoot":"","sources":["../../../src/entity/entity-coords.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oCAAiC;
|
|
1
|
+
{"version":3,"file":"entity-coords.js","sourceRoot":"","sources":["../../../src/entity/entity-coords.ts"],"names":[],"mappings":"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"}
|
|
@@ -105,4 +105,4 @@ export * from "./tracking/tracking";
|
|
|
105
105
|
export * from "./mcp/navigator-chat";
|
|
106
106
|
export * from "./mcp/navigator-mcp-websocket";
|
|
107
107
|
export * from "./change-set/change-set";
|
|
108
|
-
export declare const VERSION = "7.1.
|
|
108
|
+
export declare const VERSION = "7.1.42";
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Api } from "../api/api";
|
|
2
2
|
import { BruceApi } from "../api/bruce-api";
|
|
3
3
|
import { Carto } from "../common/carto";
|
|
4
|
+
import { IDictionary } from "../common/dictionary";
|
|
4
5
|
import { Transform } from "../common/transform";
|
|
5
6
|
/**
|
|
6
7
|
* This is a utility to help calculate and manage UCS coordinates for entities.
|
|
@@ -36,6 +37,10 @@ export declare namespace EntityCoords {
|
|
|
36
37
|
transform?: Transform.ITransform;
|
|
37
38
|
location?: Carto.ICarto;
|
|
38
39
|
}
|
|
40
|
+
interface IEntityCoordsRes {
|
|
41
|
+
coords: IEntityCoords;
|
|
42
|
+
coordsMap: IDictionary<IEntityCoords>;
|
|
43
|
+
}
|
|
39
44
|
/**
|
|
40
45
|
* Params for shifting an entity to be relative to a point.
|
|
41
46
|
*/
|
|
@@ -68,11 +73,9 @@ export declare namespace EntityCoords {
|
|
|
68
73
|
*/
|
|
69
74
|
function GetEntityCoords(params: {
|
|
70
75
|
api?: BruceApi.Api;
|
|
71
|
-
rootEntityId: string;
|
|
76
|
+
rootEntityId: string | string[];
|
|
72
77
|
req?: Api.IReqParams;
|
|
73
|
-
}): Promise<
|
|
74
|
-
coords: IEntityCoords;
|
|
75
|
-
}>;
|
|
78
|
+
}): Promise<IEntityCoordsRes>;
|
|
76
79
|
/**
|
|
77
80
|
* Returns coordinates for an entity when relative to a point.
|
|
78
81
|
* @param params
|
|
@@ -130,5 +133,17 @@ export declare namespace EntityCoords {
|
|
|
130
133
|
* @param entityId
|
|
131
134
|
* @returns
|
|
132
135
|
*/
|
|
133
|
-
function GetCacheKey(entityId: string): string;
|
|
136
|
+
function GetCacheKey(entityId: string | string[]): string;
|
|
137
|
+
/**
|
|
138
|
+
* Invalidates all cached coords that involve the given Entity ID.
|
|
139
|
+
*
|
|
140
|
+
* Example:
|
|
141
|
+
* ```
|
|
142
|
+
* const api: BruceApi.Api = ...;
|
|
143
|
+
* InvalidateCoordsCache(api, "123");
|
|
144
|
+
* ```
|
|
145
|
+
* @param api
|
|
146
|
+
* @param entityId Single Entity whose cached coords should be invalidated.
|
|
147
|
+
*/
|
|
148
|
+
function InvalidateCoordsCache(api: BruceApi.Api, entityId: string): void;
|
|
134
149
|
}
|