bruce-models 3.1.3 → 3.1.5

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.
@@ -54,10 +54,6 @@ __exportStar(require("./entity/entity-source"), exports);
54
54
  __exportStar(require("./entity/entity-tag"), exports);
55
55
  __exportStar(require("./entity/entity-type"), exports);
56
56
  __exportStar(require("./entity/entity"), exports);
57
- __exportStar(require("./entity/getters/view-monitor"), exports);
58
- __exportStar(require("./entity/getters/entity-globe"), exports);
59
- __exportStar(require("./entity/getters/entity-filter-getter"), exports);
60
- __exportStar(require("./entity/getters/batched-data-getter"), exports);
61
57
  __exportStar(require("./entity/entity-coords"), exports);
62
58
  __exportStar(require("./entity/entity-type-visual-settings"), exports);
63
59
  __exportStar(require("./entity/entity-attribute"), exports);
@@ -98,5 +94,5 @@ __exportStar(require("./internal/uploader"), exports);
98
94
  __exportStar(require("./plugin/plugin"), exports);
99
95
  __exportStar(require("./environment"), exports);
100
96
  __exportStar(require("./data-source/data-source"), exports);
101
- exports.VERSION = "3.1.3";
97
+ exports.VERSION = "3.1.5";
102
98
  //# sourceMappingURL=bruce-models.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bruce-models.js","sourceRoot":"","sources":["../../src/bruce-models.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,8DAA4C;AAE5C,4DAA0C;AAC1C,oEAAkD;AAElD,qDAAmC;AACnC,4CAA0B;AAC1B,kDAAgC;AAChC,gDAA8B;AAC9B,gDAA8B;AAC9B,mDAAiC;AACjC,qDAAmC;AACnC,oDAAkC;AAElC,0DAAwC;AAExC,kDAAgC;AAChC,uDAAqC;AACrC,iDAA+B;AAC/B,kDAAgC;AAChC,kDAAgC;AAChC,iDAA+B;AAC/B,iDAA+B;AAC/B,uDAAqC;AACrC,sDAAoC;AACpC,oDAAkC;AAClC,qDAAmC;AACnC,+CAA6B;AAC7B,0DAAwC;AACxC,qDAAmC;AACnC,mDAAiC;AAEjC,kEAAgD;AAChD,6DAA2C;AAC3C,0DAAwC;AACxC,uDAAqC;AACrC,sDAAoC;AACpC,+DAA6C;AAC7C,gEAA8C;AAC9C,2DAAyC;AACzC,yDAAuC;AACvC,sDAAoC;AACpC,uDAAqC;AACrC,kDAAgC;AAChC,gEAA8C;AAC9C,gEAA8C;AAC9C,wEAAsD;AACtD,uEAAqD;AACrD,yDAAuC;AACvC,uEAAqD;AACrD,4DAA0C;AAE1C,4DAA0C;AAE1C,4DAA0C;AAE1C,yDAAuC;AACvC,sDAAoC;AACpC,kEAAgD;AAChD,yDAAuC;AACvC,qEAAmD;AACnD,8DAA4C;AAC5C,mEAAiD;AAEjD,0DAAwC;AACxC,0DAAwC;AACxC,4DAA0C;AAE1C,gDAA8B;AAE9B,oDAAkC;AAElC,oDAAkC;AAClC,iDAA+B;AAC/B,oDAAkC;AAClC,8CAA4B;AAE5B,oDAAkC;AAClC,6DAA2C;AAC3C,2DAAyC;AAEzC,uDAAqC;AACrC,oDAAkC;AAClC,sDAAoC;AACpC,oDAAkC;AAClC,mDAAiC;AAEjC,sDAAoC;AAEpC,sDAAoC;AACpC,sDAAoC;AACpC,uDAAqC;AACrC,sDAAoC;AACpC,yDAAuC;AAEvC,kDAAgC;AAChC,sDAAoC;AACpC,kDAAgC;AAChC,gDAA8B;AAC9B,4DAA0C;AAE7B,QAAA,OAAO,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"bruce-models.js","sourceRoot":"","sources":["../../src/bruce-models.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,8DAA4C;AAE5C,4DAA0C;AAC1C,oEAAkD;AAElD,qDAAmC;AACnC,4CAA0B;AAC1B,kDAAgC;AAChC,gDAA8B;AAC9B,gDAA8B;AAC9B,mDAAiC;AACjC,qDAAmC;AACnC,oDAAkC;AAElC,0DAAwC;AAExC,kDAAgC;AAChC,uDAAqC;AACrC,iDAA+B;AAC/B,kDAAgC;AAChC,kDAAgC;AAChC,iDAA+B;AAC/B,iDAA+B;AAC/B,uDAAqC;AACrC,sDAAoC;AACpC,oDAAkC;AAClC,qDAAmC;AACnC,+CAA6B;AAC7B,0DAAwC;AACxC,qDAAmC;AACnC,mDAAiC;AAEjC,kEAAgD;AAChD,6DAA2C;AAC3C,0DAAwC;AACxC,uDAAqC;AACrC,sDAAoC;AACpC,+DAA6C;AAC7C,gEAA8C;AAC9C,2DAAyC;AACzC,yDAAuC;AACvC,sDAAoC;AACpC,uDAAqC;AACrC,kDAAgC;AAChC,yDAAuC;AACvC,uEAAqD;AACrD,4DAA0C;AAE1C,4DAA0C;AAE1C,4DAA0C;AAE1C,yDAAuC;AACvC,sDAAoC;AACpC,kEAAgD;AAChD,yDAAuC;AACvC,qEAAmD;AACnD,8DAA4C;AAC5C,mEAAiD;AAEjD,0DAAwC;AACxC,0DAAwC;AACxC,4DAA0C;AAE1C,gDAA8B;AAE9B,oDAAkC;AAElC,oDAAkC;AAClC,iDAA+B;AAC/B,oDAAkC;AAClC,8CAA4B;AAE5B,oDAAkC;AAClC,6DAA2C;AAC3C,2DAAyC;AAEzC,uDAAqC;AACrC,oDAAkC;AAClC,sDAAoC;AACpC,oDAAkC;AAClC,mDAAiC;AAEjC,sDAAoC;AAEpC,sDAAoC;AACpC,sDAAoC;AACpC,uDAAqC;AACrC,sDAAoC;AACpC,yDAAuC;AAEvC,kDAAgC;AAChC,sDAAoC;AACpC,kDAAgC;AAChC,gDAA8B;AAC9B,4DAA0C;AAE7B,QAAA,OAAO,GAAG,OAAO,CAAC"}
@@ -37,10 +37,6 @@ export * from "./entity/entity-source";
37
37
  export * from "./entity/entity-tag";
38
38
  export * from "./entity/entity-type";
39
39
  export * from "./entity/entity";
40
- export * from "./entity/getters/view-monitor";
41
- export * from "./entity/getters/entity-globe";
42
- export * from "./entity/getters/entity-filter-getter";
43
- export * from "./entity/getters/batched-data-getter";
44
40
  export * from "./entity/entity-coords";
45
41
  export * from "./entity/entity-type-visual-settings";
46
42
  export * from "./entity/entity-attribute";
@@ -81,4 +77,4 @@ export * from "./internal/uploader";
81
77
  export * from "./plugin/plugin";
82
78
  export * from "./environment";
83
79
  export * from "./data-source/data-source";
84
- export declare const VERSION = "3.1.3";
80
+ export declare const VERSION = "3.1.5";
@@ -67,7 +67,7 @@ export declare namespace CustomFormContent {
67
67
  minFillColor?: string;
68
68
  maxFillColor?: string;
69
69
  colors?: {
70
- value: number;
70
+ percent: number;
71
71
  color: string;
72
72
  }[];
73
73
  gradient?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bruce-models",
3
- "version": "3.1.3",
3
+ "version": "3.1.5",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "main": "dist/bruce-models.umd.js",
@@ -1,85 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BatchedDataGetter = void 0;
4
- const bruce_event_1 = require("../../common/bruce-event");
5
- const MAX_AREA_IN_DEGREES = 90;
6
- const GETTER_DELAY = 50;
7
- /**
8
- * This is a batched "arbitrary data" getter.
9
- * You feed it an array of data, then it will emit that data in batches when the view changes.
10
- */
11
- var BatchedDataGetter;
12
- (function (BatchedDataGetter) {
13
- class Getter {
14
- get OnUpdate() {
15
- if (!this.onUpdate) {
16
- this.onUpdate = new bruce_event_1.BruceEvent();
17
- }
18
- return this.onUpdate;
19
- }
20
- constructor(data, viewPort, batchSize) {
21
- this.viewPortRemoval = null;
22
- this.viewRect = null;
23
- this.viewCenter = null;
24
- this.onUpdate = null;
25
- this.data = data;
26
- this.viewPort = viewPort;
27
- this.batchSize = batchSize;
28
- }
29
- Start() {
30
- this.viewPortRemoval = this.viewPort.Updated().Subscribe(() => {
31
- this.updateViewport();
32
- });
33
- this.updateViewport();
34
- }
35
- Dispose() {
36
- var _a;
37
- (_a = this.viewPortRemoval) === null || _a === void 0 ? void 0 : _a.call(this);
38
- }
39
- updateViewport() {
40
- this.updateBounds();
41
- this.startGetterLoop();
42
- }
43
- updateBounds() {
44
- const viewRect = this.viewPort.GetBounds();
45
- const poi = this.viewPort.GetTarget();
46
- if (viewRect && poi) {
47
- if (Math.abs(viewRect.west - viewRect.east) > MAX_AREA_IN_DEGREES) {
48
- return;
49
- }
50
- if (Math.abs(viewRect.south - viewRect.north) > MAX_AREA_IN_DEGREES) {
51
- return;
52
- }
53
- this.viewRect = viewRect;
54
- this.viewCenter = poi;
55
- }
56
- }
57
- startGetterLoop() {
58
- clearInterval(this.getterInterval);
59
- if (!this.viewRect || !this.viewCenter) {
60
- return;
61
- }
62
- let index = 0;
63
- const onTick = () => {
64
- this.processBatch(this.data.slice(index, index + this.batchSize));
65
- index += this.batchSize;
66
- return index >= this.data.length;
67
- };
68
- if (!onTick()) {
69
- this.getterInterval = setInterval(() => {
70
- if (onTick()) {
71
- clearInterval(this.getterInterval);
72
- }
73
- }, GETTER_DELAY);
74
- }
75
- }
76
- processBatch(batch) {
77
- var _a;
78
- if (batch.length > 0) {
79
- (_a = this.onUpdate) === null || _a === void 0 ? void 0 : _a.Trigger(batch);
80
- }
81
- }
82
- }
83
- BatchedDataGetter.Getter = Getter;
84
- })(BatchedDataGetter = exports.BatchedDataGetter || (exports.BatchedDataGetter = {}));
85
- //# sourceMappingURL=batched-data-getter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"batched-data-getter.js","sourceRoot":"","sources":["../../../../src/entity/getters/batched-data-getter.ts"],"names":[],"mappings":"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"}
@@ -1,321 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.EntityFilterGetter = void 0;
13
- const api_1 = require("../../api/api");
14
- const bruce_event_1 = require("../../common/bruce-event");
15
- const entity_1 = require("../entity");
16
- const entity_globe_1 = require("./entity-globe");
17
- const MAX_AREA_IN_DEGREES = 90;
18
- const MAX_RETRY_ATTEMPTS = 1;
19
- const RETRY_DELAY_INCREMENT = 500;
20
- const REQUEST_PAGE_DELAY = 50;
21
- class regMenuItemGetter {
22
- constructor(tagIds, minHeight, maxHeight) {
23
- this.TagIds = tagIds;
24
- this.MinHeight = minHeight;
25
- this.MaxHeight = maxHeight;
26
- }
27
- }
28
- function delay(milliseconds) {
29
- return __awaiter(this, void 0, void 0, function* () {
30
- return new Promise((res) => {
31
- setTimeout(() => {
32
- res();
33
- }, milliseconds);
34
- });
35
- });
36
- }
37
- /**
38
- * This is a batched entity getter.
39
- * It will scan for entity records in a view-area and emit them in batches.
40
- * It will restart scanning if the camera moves.
41
- */
42
- var EntityFilterGetter;
43
- (function (EntityFilterGetter) {
44
- let EStatus;
45
- (function (EStatus) {
46
- EStatus["Scanning"] = "SCANNING";
47
- EStatus["Loading"] = "LOADING";
48
- })(EStatus = EntityFilterGetter.EStatus || (EntityFilterGetter.EStatus = {}));
49
- class Getter {
50
- get OnUpdate() {
51
- if (!this.onUpdate) {
52
- this.onUpdate = new bruce_event_1.BruceEvent();
53
- }
54
- return this.onUpdate;
55
- }
56
- get OnStateUpdate() {
57
- if (!this.onStateUpdate) {
58
- this.onStateUpdate = new bruce_event_1.BruceEvent();
59
- }
60
- return this.onStateUpdate;
61
- }
62
- get OnScanUpdate() {
63
- if (!this.onScanUpdate) {
64
- this.onScanUpdate = new bruce_event_1.BruceEvent();
65
- }
66
- return this.onScanUpdate;
67
- }
68
- constructor(api, viewPort, typeId, batchSize, attrFilter, viaCdn) {
69
- this.onUpdate = null;
70
- this.LastStateUpdates = {};
71
- this.onStateUpdate = null;
72
- this.onScanUpdate = null;
73
- this.viewPortChangeRemoval = null;
74
- this.cells = null;
75
- this.registeredItems = {};
76
- this.getterLoopId = 0;
77
- this.tagIds = null;
78
- this.minHeight = 0;
79
- this.maxHeight = 100000;
80
- this.viewRect = null;
81
- this.viewCenter = null;
82
- this.api = api;
83
- this.typeId = typeId;
84
- this.viaCdn = Boolean(viaCdn);
85
- this.batchSize = isNaN(batchSize) ? 300 : batchSize;
86
- this.viewPort = viewPort;
87
- this.attrFilter = attrFilter;
88
- this.updateBounds();
89
- }
90
- /**
91
- * Returns id that represents the combined menu item parameters.
92
- * If integrity changes while a request is running, the request will not emit a response.
93
- * @returns
94
- */
95
- getIntegrityId() {
96
- return this.tagIds == null ? "" : this.tagIds.join();
97
- }
98
- viewAreaSub() {
99
- this.viewAreaDispose();
100
- this.viewPortChangeRemoval = this.viewPort.Updated().Subscribe(() => {
101
- this.updateBounds();
102
- this.startGetterLoop();
103
- });
104
- }
105
- viewAreaDispose() {
106
- var _a;
107
- (_a = this.viewPortChangeRemoval) === null || _a === void 0 ? void 0 : _a.call(this);
108
- }
109
- GetMenuItems() {
110
- return Object.keys(this.registeredItems);
111
- }
112
- IncludeMenuItem(menuItemId, layerIds, minHeight, maxHeight) {
113
- this.registeredItems[menuItemId] = new regMenuItemGetter(layerIds, minHeight, maxHeight);
114
- this.updateState();
115
- }
116
- ExcludeMenuItem(menuItemId) {
117
- this.registeredItems[menuItemId] = null;
118
- delete this.registeredItems[menuItemId];
119
- this.updateState();
120
- }
121
- updateBounds() {
122
- const viewRect = this.viewPort.GetBounds();
123
- const poi = this.viewPort.GetTarget();
124
- if (viewRect && poi) {
125
- if (Math.abs(viewRect.west - viewRect.east) > MAX_AREA_IN_DEGREES) {
126
- return;
127
- }
128
- if (Math.abs(viewRect.south - viewRect.north) > MAX_AREA_IN_DEGREES) {
129
- return;
130
- }
131
- this.viewRect = viewRect;
132
- this.viewCenter = poi;
133
- }
134
- }
135
- updateState() {
136
- const tagIds = [];
137
- const menuItemIds = this.GetMenuItems();
138
- let minHeight = null;
139
- let maxHeight = null;
140
- for (let i = 0; i < menuItemIds.length; i++) {
141
- const menuItem = this.registeredItems[menuItemIds[i]];
142
- if (menuItem) {
143
- if (maxHeight == null || maxHeight < menuItem.MaxHeight) {
144
- maxHeight = menuItem.MaxHeight;
145
- }
146
- if (minHeight == null || minHeight > menuItem.MinHeight) {
147
- minHeight = menuItem.MinHeight;
148
- }
149
- const itemLayerIds = menuItem.TagIds;
150
- if (itemLayerIds) {
151
- for (let j = 0; j < itemLayerIds.length; j++) {
152
- const itemLayerId = itemLayerIds[j];
153
- if (!tagIds.includes(itemLayerId)) {
154
- tagIds.push(itemLayerId);
155
- }
156
- }
157
- }
158
- }
159
- }
160
- if (menuItemIds.length > 0) {
161
- // Reset cells so none are marked as fetched.
162
- this.cells = new entity_globe_1.EntityGlobe.Grid();
163
- this.tagIds = tagIds;
164
- this.minHeight = minHeight;
165
- this.maxHeight = maxHeight;
166
- this.updateBounds();
167
- this.startGetterLoop();
168
- this.viewAreaSub();
169
- }
170
- else {
171
- this.getterLoopId += 1;
172
- this.viewAreaDispose();
173
- }
174
- }
175
- postStatus(status) {
176
- var _a;
177
- this.LastStateUpdates[status.msg] = status;
178
- (_a = this.onStateUpdate) === null || _a === void 0 ? void 0 : _a.Trigger(status);
179
- }
180
- startGetterLoop() {
181
- // Increase id so that existing loops stop.
182
- this.getterLoopId += 1;
183
- const loopId = this.getterLoopId;
184
- const loopIntegrity = this.getIntegrityId();
185
- new Promise(() => __awaiter(this, void 0, void 0, function* () {
186
- var _a, _b, _c, _d, _e, _f, _g, _h;
187
- // Minor delay to stop 50 menu items enabling doing their first request all together.
188
- // This gives it time to recognize only 1 request is needed.
189
- // Would be better to not use this delay but we're on a clock.
190
- yield delay(100);
191
- const MIN_HEIGHT = this.minHeight;
192
- const MAX_HEIGHT = this.maxHeight;
193
- const PAGE_SIZE = this.batchSize;
194
- let retryAttempts = MAX_RETRY_ATTEMPTS;
195
- let retryDelay = 0;
196
- let prevFirstId = "";
197
- let prevLastId = "";
198
- let prevTicks = 0;
199
- while ((!this.viewCenter || !this.viewRect) && this.getterLoopId == loopId) {
200
- yield delay(RETRY_DELAY_INCREMENT);
201
- }
202
- if (this.getterLoopId != loopId) {
203
- return;
204
- }
205
- const alt = this.viewRect.alt;
206
- if (alt > MAX_HEIGHT || (alt < MIN_HEIGHT && MIN_HEIGHT > 0)) {
207
- return;
208
- }
209
- const cells = this.cells.GetCellsForView(this.viewCenter, this.viewRect);
210
- (_a = this.onScanUpdate) === null || _a === void 0 ? void 0 : _a.Trigger(cells);
211
- let curCellIndex = cells.length > 0 ? 0 : null;
212
- let postedScanning = false;
213
- let postedLoading = false;
214
- let total = 0;
215
- while (retryAttempts > 0 && curCellIndex != null) {
216
- if (retryDelay > 0) {
217
- yield delay(retryDelay);
218
- }
219
- if (this.getterLoopId != loopId) {
220
- break;
221
- }
222
- if (!postedScanning) {
223
- this.postStatus({ msg: EStatus.Scanning, revoking: false });
224
- postedScanning = true;
225
- }
226
- const curCell = cells[curCellIndex];
227
- if (curCell.IsFetched()) {
228
- curCell.Fetching = false;
229
- curCellIndex += 1;
230
- if (cells[curCellIndex]) {
231
- cells[curCellIndex].Fetching = true;
232
- }
233
- else {
234
- curCellIndex = null;
235
- }
236
- (_b = this.onScanUpdate) === null || _b === void 0 ? void 0 : _b.Trigger(cells);
237
- continue;
238
- }
239
- try {
240
- let { entities } = yield entity_1.Entity.GetList({
241
- api: this.api,
242
- filter: {
243
- pageSize: PAGE_SIZE,
244
- pageIndex: curCell.FetchPageIndex,
245
- entityTypeId: this.typeId,
246
- layerIds: this.tagIds,
247
- // Any tag specified will be allowed.
248
- layerIdsOperator: "in",
249
- bounds: curCell.GetBounds(),
250
- sortOrder: api_1.Api.ESortOrder.Asc,
251
- entityTypeConditions: this.attrFilter
252
- },
253
- viaCdn: this.viaCdn,
254
- req: {
255
- noCache: true
256
- }
257
- });
258
- const integrity = this.getIntegrityId();
259
- if (loopIntegrity == integrity && entities) {
260
- (_c = this.onUpdate) === null || _c === void 0 ? void 0 : _c.Trigger(entities);
261
- }
262
- if (this.getterLoopId != loopId) {
263
- break;
264
- }
265
- if (entities.length) {
266
- total += entities.length;
267
- }
268
- if (!postedLoading) {
269
- this.postStatus({ msg: EStatus.Loading, revoking: false });
270
- postedLoading = true;
271
- }
272
- // Only mark as fetched when ALL pages are done.
273
- // Known issue where external sources may return less than page size.
274
- // Right now we're making it as fetched as we're siding with the majority use-case.
275
- if (entities.length <= 0 || entities.length < PAGE_SIZE) {
276
- curCell.Fetched = true;
277
- curCell.Fetching = false;
278
- (_d = this.onScanUpdate) === null || _d === void 0 ? void 0 : _d.Trigger(cells);
279
- continue;
280
- }
281
- // Checking to make sure it's not just the same batch over and over again.
282
- if (entities.length > 0) {
283
- const first = (_f = (_e = entities[0]) === null || _e === void 0 ? void 0 : _e.Bruce) === null || _f === void 0 ? void 0 : _f.ID;
284
- const last = (_h = (_g = entities[entities.length - 1]) === null || _g === void 0 ? void 0 : _g.Bruce) === null || _h === void 0 ? void 0 : _h.ID;
285
- if (prevFirstId == first && prevLastId == last) {
286
- prevTicks += 1;
287
- if (prevTicks > 3) {
288
- break;
289
- }
290
- }
291
- else {
292
- prevFirstId = first;
293
- prevLastId = last;
294
- prevTicks = 0;
295
- }
296
- }
297
- curCell.FetchPageIndex++;
298
- // Request passed so let's assume it was server hiccup and refresh counts.
299
- retryAttempts = MAX_RETRY_ATTEMPTS;
300
- retryDelay = 0;
301
- }
302
- catch (e) {
303
- console.error(e);
304
- // Request failed so let's add a delay and try again soon.
305
- retryDelay += RETRY_DELAY_INCREMENT;
306
- retryAttempts -= 1;
307
- }
308
- yield delay(REQUEST_PAGE_DELAY);
309
- }
310
- if (postedLoading) {
311
- this.postStatus({ msg: EStatus.Loading, revoking: true });
312
- }
313
- if (postedScanning) {
314
- this.postStatus({ msg: EStatus.Scanning, revoking: true });
315
- }
316
- }));
317
- }
318
- }
319
- EntityFilterGetter.Getter = Getter;
320
- })(EntityFilterGetter = exports.EntityFilterGetter || (exports.EntityFilterGetter = {}));
321
- //# sourceMappingURL=entity-filter-getter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entity-filter-getter.js","sourceRoot":"","sources":["../../../../src/entity/getters/entity-filter-getter.ts"],"names":[],"mappings":"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"}