bruce-models 2.3.6 → 2.3.8
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 +8041 -8033
- package/dist/bruce-models.es5.js.map +1 -1
- package/dist/bruce-models.umd.js +7805 -7797
- package/dist/bruce-models.umd.js.map +1 -1
- package/dist/lib/account/account-invite.js +81 -81
- package/dist/lib/account/account-settings.js +2 -2
- package/dist/lib/account/account.js +169 -169
- package/dist/lib/account/account.js.map +1 -1
- package/dist/lib/ann-document/ann-document.js +94 -94
- package/dist/lib/api/abstract-api.js +269 -269
- package/dist/lib/api/api-getters.js +172 -172
- package/dist/lib/api/api.js +93 -93
- package/dist/lib/api/bruce-api.js +224 -220
- package/dist/lib/api/bruce-api.js.map +1 -1
- package/dist/lib/api/cam-api.js +88 -88
- package/dist/lib/api/global-api.js +82 -82
- package/dist/lib/api/guardian-api.js +82 -82
- package/dist/lib/api/idm-api.js +90 -90
- package/dist/lib/bruce-models.js +95 -91
- package/dist/lib/bruce-models.js.map +1 -1
- package/dist/lib/calculator/calculator.js +341 -341
- package/dist/lib/client-file/client-file.js +255 -255
- package/dist/lib/client-file/client-file.js.map +1 -1
- package/dist/lib/common/bounds.js +61 -61
- package/dist/lib/common/bruce-event.js +46 -46
- package/dist/lib/common/bruce-variable.js +60 -60
- package/dist/lib/common/cache.js +188 -188
- package/dist/lib/common/cache.js.map +1 -1
- package/dist/lib/common/camera.js +11 -11
- package/dist/lib/common/cartes.js +123 -123
- package/dist/lib/common/carto.js +60 -60
- package/dist/lib/common/color.js +86 -86
- package/dist/lib/common/delay-queue.js +56 -56
- package/dist/lib/common/dictionary.js +2 -2
- package/dist/lib/common/geometry.js +120 -120
- package/dist/lib/common/lru-cache.js +25 -25
- package/dist/lib/common/transform.js +2 -2
- package/dist/lib/common/utc.js +39 -39
- package/dist/lib/custom-form/custom-form-content.js +26 -26
- package/dist/lib/custom-form/custom-form.js +114 -114
- package/dist/lib/data-lab/data-lab.js +49 -49
- package/dist/lib/entity/entity-attachment-type.js +87 -87
- package/dist/lib/entity/entity-attachment-type.js.map +1 -1
- package/dist/lib/entity/entity-attachment.js +126 -126
- package/dist/lib/entity/entity-attachment.js.map +1 -1
- package/dist/lib/entity/entity-attribute.js +29 -29
- package/dist/lib/entity/entity-comment.js +86 -86
- package/dist/lib/entity/entity-comment.js.map +1 -1
- package/dist/lib/entity/entity-coords.js +153 -153
- package/dist/lib/entity/entity-coords.js.map +1 -1
- package/dist/lib/entity/entity-link.js +86 -86
- package/dist/lib/entity/entity-link.js.map +1 -1
- package/dist/lib/entity/entity-lod-category.js +108 -108
- package/dist/lib/entity/entity-lod.js +197 -197
- package/dist/lib/entity/entity-lod.js.map +1 -1
- package/dist/lib/entity/entity-relation-type.js +117 -117
- package/dist/lib/entity/entity-relation-type.js.map +1 -1
- package/dist/lib/entity/entity-relation.js +157 -157
- package/dist/lib/entity/entity-source.js +136 -136
- package/dist/lib/entity/entity-source.js.map +1 -1
- package/dist/lib/entity/entity-tag.js +157 -157
- package/dist/lib/entity/entity-type-visual-settings.js +13 -13
- package/dist/lib/entity/entity-type.js +122 -122
- package/dist/lib/entity/entity.js +341 -341
- package/dist/lib/entity/entity.js.map +1 -1
- package/dist/lib/entity/getters/batched-data-getter.js +84 -84
- package/dist/lib/entity/getters/batched-data-getter.js.map +1 -1
- package/dist/lib/entity/getters/entity-filter-getter.js +316 -316
- package/dist/lib/entity/getters/entity-filter-getter.js.map +1 -1
- package/dist/lib/entity/getters/entity-globe.js +175 -175
- package/dist/lib/entity/getters/view-monitor.js +2 -2
- package/dist/lib/import/import-cad.js +53 -53
- package/dist/lib/import/import-cad.js.map +1 -1
- package/dist/lib/import/import-csv.js +23 -23
- package/dist/lib/import/import-json.js +23 -23
- package/dist/lib/import/import-kml.js +23 -23
- package/dist/lib/import/imported-file.js +130 -130
- package/dist/lib/internal/uploader.js +76 -76
- package/dist/lib/internal/uploader.js.map +1 -1
- package/dist/lib/markup/markup.js +185 -185
- package/dist/lib/plugin/plugin.js +91 -91
- package/dist/lib/program-key/program-key.js +120 -120
- package/dist/lib/program-key/program-key.js.map +1 -1
- package/dist/lib/project/menu-item.js +122 -122
- package/dist/lib/project/project-view-bookmark.js +159 -159
- package/dist/lib/project/project-view-bookmark.js.map +1 -1
- package/dist/lib/project/project-view-legacy-tile.js +77 -77
- package/dist/lib/project/project-view-legacy-tile.js.map +1 -1
- package/dist/lib/project/project-view-tile.js +125 -125
- package/dist/lib/project/project-view.js +141 -141
- package/dist/lib/project/zoom-control.js +17 -17
- package/dist/lib/server/hosting-location.js +156 -156
- package/dist/lib/server/hosting-location.js.map +1 -1
- package/dist/lib/server/message-broker.js +142 -142
- package/dist/lib/server/message-broker.js.map +1 -1
- package/dist/lib/server/pending-action.js +83 -83
- package/dist/lib/server/task.js +63 -63
- package/dist/lib/style/style.js +129 -129
- package/dist/lib/style/style.js.map +1 -1
- package/dist/lib/tileset/tileset.js +431 -431
- package/dist/lib/tileset/tileset.js.map +1 -1
- package/dist/lib/user/permission.js +20 -20
- package/dist/lib/user/session.js +145 -142
- package/dist/lib/user/session.js.map +1 -1
- package/dist/lib/user/user-group.js +94 -94
- package/dist/lib/user/user.js +475 -474
- package/dist/lib/user/user.js.map +1 -1
- package/dist/lib/util/encrypt-utils.js +19 -19
- package/dist/lib/util/math-utils.js +40 -40
- package/dist/lib/util/object-utils.js +17 -17
- package/dist/lib/util/path-utils.js +61 -61
- package/dist/lib/util/url-utils.js +94 -94
- package/dist/lib/util/url-utils.js.map +1 -1
- package/dist/types/account/account-invite.d.ts +68 -68
- package/dist/types/account/account-settings.d.ts +24 -24
- package/dist/types/account/account.d.ts +84 -84
- package/dist/types/ann-document/ann-document.d.ts +50 -50
- package/dist/types/api/abstract-api.d.ts +36 -36
- package/dist/types/api/api-getters.d.ts +64 -64
- package/dist/types/api/api.d.ts +93 -93
- package/dist/types/api/bruce-api.d.ts +64 -63
- package/dist/types/api/cam-api.d.ts +26 -26
- package/dist/types/api/global-api.d.ts +25 -25
- package/dist/types/api/guardian-api.d.ts +25 -25
- package/dist/types/api/idm-api.d.ts +28 -28
- package/dist/types/bruce-models.d.ts +79 -79
- package/dist/types/calculator/calculator.d.ts +61 -61
- package/dist/types/client-file/client-file.d.ts +130 -130
- package/dist/types/common/bounds.d.ts +30 -30
- package/dist/types/common/bruce-event.d.ts +12 -12
- package/dist/types/common/bruce-variable.d.ts +21 -21
- package/dist/types/common/cache.d.ts +57 -57
- package/dist/types/common/camera.d.ts +6 -6
- package/dist/types/common/cartes.d.ts +51 -51
- package/dist/types/common/carto.d.ts +15 -15
- package/dist/types/common/color.d.ts +24 -24
- package/dist/types/common/delay-queue.d.ts +14 -14
- package/dist/types/common/dictionary.d.ts +3 -3
- package/dist/types/common/geometry.d.ts +44 -44
- package/dist/types/common/lru-cache.d.ts +7 -7
- package/dist/types/common/transform.d.ts +15 -15
- package/dist/types/common/utc.d.ts +29 -29
- package/dist/types/custom-form/custom-form-content.d.ts +60 -60
- package/dist/types/custom-form/custom-form.d.ts +49 -49
- package/dist/types/data-lab/data-lab.d.ts +28 -28
- package/dist/types/entity/entity-attachment-type.d.ts +39 -39
- package/dist/types/entity/entity-attachment.d.ts +61 -61
- package/dist/types/entity/entity-attribute.d.ts +39 -39
- package/dist/types/entity/entity-comment.d.ts +40 -40
- package/dist/types/entity/entity-coords.d.ts +66 -66
- package/dist/types/entity/entity-link.d.ts +36 -36
- package/dist/types/entity/entity-lod-category.d.ts +36 -36
- package/dist/types/entity/entity-lod.d.ts +99 -99
- package/dist/types/entity/entity-relation-type.d.ts +44 -44
- package/dist/types/entity/entity-relation.d.ts +59 -59
- package/dist/types/entity/entity-source.d.ts +45 -45
- package/dist/types/entity/entity-tag.d.ts +53 -53
- package/dist/types/entity/entity-type-visual-settings.d.ts +16 -16
- package/dist/types/entity/entity-type.d.ts +63 -63
- package/dist/types/entity/entity.d.ts +118 -118
- package/dist/types/entity/getters/batched-data-getter.d.ts +26 -26
- package/dist/types/entity/getters/entity-filter-getter.d.ts +61 -61
- package/dist/types/entity/getters/entity-globe.d.ts +21 -21
- package/dist/types/entity/getters/view-monitor.d.ts +13 -13
- package/dist/types/import/import-cad.d.ts +49 -49
- package/dist/types/import/import-csv.d.ts +31 -31
- package/dist/types/import/import-json.d.ts +26 -26
- package/dist/types/import/import-kml.d.ts +19 -19
- package/dist/types/import/imported-file.d.ts +47 -47
- package/dist/types/internal/uploader.d.ts +16 -16
- package/dist/types/markup/markup.d.ts +227 -227
- package/dist/types/plugin/plugin.d.ts +39 -39
- package/dist/types/program-key/program-key.d.ts +48 -48
- package/dist/types/project/menu-item.d.ts +169 -169
- package/dist/types/project/project-view-bookmark.d.ts +179 -179
- package/dist/types/project/project-view-legacy-tile.d.ts +48 -48
- package/dist/types/project/project-view-tile.d.ts +65 -65
- package/dist/types/project/project-view.d.ts +136 -136
- package/dist/types/project/zoom-control.d.ts +22 -22
- package/dist/types/server/hosting-location.d.ts +74 -74
- package/dist/types/server/message-broker.d.ts +86 -86
- package/dist/types/server/pending-action.d.ts +66 -66
- package/dist/types/server/task.d.ts +36 -36
- package/dist/types/style/style.d.ts +107 -107
- package/dist/types/tileset/tileset.d.ts +264 -264
- package/dist/types/user/permission.d.ts +15 -15
- package/dist/types/user/session.d.ts +72 -66
- package/dist/types/user/user-group.d.ts +58 -58
- package/dist/types/user/user.d.ts +189 -188
- package/dist/types/util/encrypt-utils.d.ts +3 -3
- package/dist/types/util/math-utils.d.ts +16 -16
- package/dist/types/util/object-utils.d.ts +7 -7
- package/dist/types/util/path-utils.d.ts +8 -8
- package/dist/types/util/url-utils.d.ts +26 -26
- package/package.json +79 -78
|
@@ -1,62 +1,62 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Bounds = void 0;
|
|
4
|
-
const geometry_1 = require("./geometry");
|
|
5
|
-
var Bounds;
|
|
6
|
-
(function (Bounds) {
|
|
7
|
-
/**
|
|
8
|
-
* Calculates boundaries from entity.
|
|
9
|
-
* This will not use the set entity boundaries and instead calculate from geometry and location.
|
|
10
|
-
* @param entity
|
|
11
|
-
*/
|
|
12
|
-
function FromEntity(entity) {
|
|
13
|
-
const bounds = {
|
|
14
|
-
maxAltitude: null,
|
|
15
|
-
maxLatitude: null,
|
|
16
|
-
maxLongitude: null,
|
|
17
|
-
minAltitude: null,
|
|
18
|
-
minLatitude: null,
|
|
19
|
-
minLongitude: null
|
|
20
|
-
};
|
|
21
|
-
const points = [];
|
|
22
|
-
if (entity.location) {
|
|
23
|
-
points.push(entity.location);
|
|
24
|
-
}
|
|
25
|
-
if (entity.geometry) {
|
|
26
|
-
if (entity.geometry.Point) {
|
|
27
|
-
points.push(...geometry_1.Geometry.ParsePoints(entity.geometry.Point));
|
|
28
|
-
}
|
|
29
|
-
if (entity.geometry.LineString) {
|
|
30
|
-
points.push(...geometry_1.Geometry.ParsePoints(entity.geometry.LineString));
|
|
31
|
-
}
|
|
32
|
-
if (entity.geometry.Polygon) {
|
|
33
|
-
for (const ring of entity.geometry.Polygon) {
|
|
34
|
-
points.push(...geometry_1.Geometry.ParsePoints(ring.LinearRing));
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
for (const point of points) {
|
|
39
|
-
if (bounds.maxLatitude == null || point.latitude > bounds.maxLatitude) {
|
|
40
|
-
bounds.maxLatitude = point.latitude;
|
|
41
|
-
}
|
|
42
|
-
if (bounds.maxLongitude == null || point.longitude > bounds.maxLongitude) {
|
|
43
|
-
bounds.maxLongitude = point.longitude;
|
|
44
|
-
}
|
|
45
|
-
if (bounds.maxAltitude == null || point.altitude > bounds.maxAltitude) {
|
|
46
|
-
bounds.maxAltitude = point.altitude;
|
|
47
|
-
}
|
|
48
|
-
if (bounds.minLatitude == null || point.latitude < bounds.minLatitude) {
|
|
49
|
-
bounds.minLatitude = point.latitude;
|
|
50
|
-
}
|
|
51
|
-
if (bounds.minLongitude == null || point.longitude < bounds.minLongitude) {
|
|
52
|
-
bounds.minLongitude = point.longitude;
|
|
53
|
-
}
|
|
54
|
-
if (bounds.minAltitude == null || point.altitude < bounds.minAltitude) {
|
|
55
|
-
bounds.minAltitude = point.altitude;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
return bounds;
|
|
59
|
-
}
|
|
60
|
-
Bounds.FromEntity = FromEntity;
|
|
61
|
-
})(Bounds = exports.Bounds || (exports.Bounds = {}));
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Bounds = void 0;
|
|
4
|
+
const geometry_1 = require("./geometry");
|
|
5
|
+
var Bounds;
|
|
6
|
+
(function (Bounds) {
|
|
7
|
+
/**
|
|
8
|
+
* Calculates boundaries from entity.
|
|
9
|
+
* This will not use the set entity boundaries and instead calculate from geometry and location.
|
|
10
|
+
* @param entity
|
|
11
|
+
*/
|
|
12
|
+
function FromEntity(entity) {
|
|
13
|
+
const bounds = {
|
|
14
|
+
maxAltitude: null,
|
|
15
|
+
maxLatitude: null,
|
|
16
|
+
maxLongitude: null,
|
|
17
|
+
minAltitude: null,
|
|
18
|
+
minLatitude: null,
|
|
19
|
+
minLongitude: null
|
|
20
|
+
};
|
|
21
|
+
const points = [];
|
|
22
|
+
if (entity.location) {
|
|
23
|
+
points.push(entity.location);
|
|
24
|
+
}
|
|
25
|
+
if (entity.geometry) {
|
|
26
|
+
if (entity.geometry.Point) {
|
|
27
|
+
points.push(...geometry_1.Geometry.ParsePoints(entity.geometry.Point));
|
|
28
|
+
}
|
|
29
|
+
if (entity.geometry.LineString) {
|
|
30
|
+
points.push(...geometry_1.Geometry.ParsePoints(entity.geometry.LineString));
|
|
31
|
+
}
|
|
32
|
+
if (entity.geometry.Polygon) {
|
|
33
|
+
for (const ring of entity.geometry.Polygon) {
|
|
34
|
+
points.push(...geometry_1.Geometry.ParsePoints(ring.LinearRing));
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
for (const point of points) {
|
|
39
|
+
if (bounds.maxLatitude == null || point.latitude > bounds.maxLatitude) {
|
|
40
|
+
bounds.maxLatitude = point.latitude;
|
|
41
|
+
}
|
|
42
|
+
if (bounds.maxLongitude == null || point.longitude > bounds.maxLongitude) {
|
|
43
|
+
bounds.maxLongitude = point.longitude;
|
|
44
|
+
}
|
|
45
|
+
if (bounds.maxAltitude == null || point.altitude > bounds.maxAltitude) {
|
|
46
|
+
bounds.maxAltitude = point.altitude;
|
|
47
|
+
}
|
|
48
|
+
if (bounds.minLatitude == null || point.latitude < bounds.minLatitude) {
|
|
49
|
+
bounds.minLatitude = point.latitude;
|
|
50
|
+
}
|
|
51
|
+
if (bounds.minLongitude == null || point.longitude < bounds.minLongitude) {
|
|
52
|
+
bounds.minLongitude = point.longitude;
|
|
53
|
+
}
|
|
54
|
+
if (bounds.minAltitude == null || point.altitude < bounds.minAltitude) {
|
|
55
|
+
bounds.minAltitude = point.altitude;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return bounds;
|
|
59
|
+
}
|
|
60
|
+
Bounds.FromEntity = FromEntity;
|
|
61
|
+
})(Bounds = exports.Bounds || (exports.Bounds = {}));
|
|
62
62
|
//# sourceMappingURL=bounds.js.map
|
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BruceEvent = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Simple event utility.
|
|
6
|
-
* Instantiate the model, then subscribe and trigger events.
|
|
7
|
-
*/
|
|
8
|
-
class BruceEvent {
|
|
9
|
-
constructor() {
|
|
10
|
-
// Counter to help differentiate subscriptions.
|
|
11
|
-
this._counter = 0;
|
|
12
|
-
// Record of all callback subscriptions for this event.
|
|
13
|
-
this.callbacks = [];
|
|
14
|
-
}
|
|
15
|
-
Subscribe(callback) {
|
|
16
|
-
let id = this._counter++;
|
|
17
|
-
let newBruceEventCallback = {
|
|
18
|
-
_id: id,
|
|
19
|
-
removeCallback: () => {
|
|
20
|
-
this.Unsubscribe(id);
|
|
21
|
-
},
|
|
22
|
-
callback: callback
|
|
23
|
-
};
|
|
24
|
-
this.callbacks.push(newBruceEventCallback);
|
|
25
|
-
return newBruceEventCallback.removeCallback;
|
|
26
|
-
}
|
|
27
|
-
Unsubscribe(id) {
|
|
28
|
-
let index = this.callbacks.findIndex(x => x._id == id);
|
|
29
|
-
if (index > -1) {
|
|
30
|
-
this.callbacks.splice(index, 1);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
Trigger(data) {
|
|
34
|
-
let callbacks = this.callbacks;
|
|
35
|
-
for (let i = 0; i < callbacks.length; i++) {
|
|
36
|
-
let callback = callbacks[i];
|
|
37
|
-
if (callback.callback) {
|
|
38
|
-
callback.callback(data);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
Clear() {
|
|
43
|
-
this.callbacks = [];
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
exports.BruceEvent = BruceEvent;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BruceEvent = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Simple event utility.
|
|
6
|
+
* Instantiate the model, then subscribe and trigger events.
|
|
7
|
+
*/
|
|
8
|
+
class BruceEvent {
|
|
9
|
+
constructor() {
|
|
10
|
+
// Counter to help differentiate subscriptions.
|
|
11
|
+
this._counter = 0;
|
|
12
|
+
// Record of all callback subscriptions for this event.
|
|
13
|
+
this.callbacks = [];
|
|
14
|
+
}
|
|
15
|
+
Subscribe(callback) {
|
|
16
|
+
let id = this._counter++;
|
|
17
|
+
let newBruceEventCallback = {
|
|
18
|
+
_id: id,
|
|
19
|
+
removeCallback: () => {
|
|
20
|
+
this.Unsubscribe(id);
|
|
21
|
+
},
|
|
22
|
+
callback: callback
|
|
23
|
+
};
|
|
24
|
+
this.callbacks.push(newBruceEventCallback);
|
|
25
|
+
return newBruceEventCallback.removeCallback;
|
|
26
|
+
}
|
|
27
|
+
Unsubscribe(id) {
|
|
28
|
+
let index = this.callbacks.findIndex(x => x._id == id);
|
|
29
|
+
if (index > -1) {
|
|
30
|
+
this.callbacks.splice(index, 1);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
Trigger(data) {
|
|
34
|
+
let callbacks = this.callbacks;
|
|
35
|
+
for (let i = 0; i < callbacks.length; i++) {
|
|
36
|
+
let callback = callbacks[i];
|
|
37
|
+
if (callback.callback) {
|
|
38
|
+
callback.callback(data);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
Clear() {
|
|
43
|
+
this.callbacks = [];
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.BruceEvent = BruceEvent;
|
|
47
47
|
//# sourceMappingURL=bruce-event.js.map
|
|
@@ -1,61 +1,61 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BruceVariable = void 0;
|
|
4
|
-
const entity_1 = require("../entity/entity");
|
|
5
|
-
const path_utils_1 = require("../util/path-utils");
|
|
6
|
-
function getVariable(str) {
|
|
7
|
-
const start = str.indexOf("${");
|
|
8
|
-
if (start > -1) {
|
|
9
|
-
const end = str.indexOf("}");
|
|
10
|
-
if (end > -1) {
|
|
11
|
-
if (start < end) {
|
|
12
|
-
const path = str.substring(start + 2, end);
|
|
13
|
-
const txt = str.substring(start, end + 1);
|
|
14
|
-
return { path: path, text: txt };
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
return null;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Utilities for parsing "Bruce variables", typically within strings.
|
|
22
|
-
*
|
|
23
|
-
* A Bruce variable is a string that starts with "${" and ends with "}".
|
|
24
|
-
* Within those brackets is a path to an attribute in an entity.
|
|
25
|
-
*/
|
|
26
|
-
var BruceVariable;
|
|
27
|
-
(function (BruceVariable) {
|
|
28
|
-
/**
|
|
29
|
-
* Replaces all Bruce variables in a string with the value of the attribute.
|
|
30
|
-
* @param str
|
|
31
|
-
* @param data
|
|
32
|
-
* @param legacyParse
|
|
33
|
-
* @returns
|
|
34
|
-
*/
|
|
35
|
-
function SwapValues(params) {
|
|
36
|
-
let { str, entity: data, legacyParse } = params;
|
|
37
|
-
if (!legacyParse) {
|
|
38
|
-
legacyParse = false;
|
|
39
|
-
}
|
|
40
|
-
while (true) {
|
|
41
|
-
const variable = getVariable(str);
|
|
42
|
-
if (variable) {
|
|
43
|
-
const path = legacyParse ? path_utils_1.PathUtils.ParseLegacy(variable.path) : path_utils_1.PathUtils.Parse(variable.path);
|
|
44
|
-
let value = "";
|
|
45
|
-
if (path.length > 0) {
|
|
46
|
-
value = entity_1.Entity.GetValue({
|
|
47
|
-
entity: data,
|
|
48
|
-
path: path
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
str = str.replace(variable.text, value);
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
break;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
return str;
|
|
58
|
-
}
|
|
59
|
-
BruceVariable.SwapValues = SwapValues;
|
|
60
|
-
})(BruceVariable = exports.BruceVariable || (exports.BruceVariable = {}));
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BruceVariable = void 0;
|
|
4
|
+
const entity_1 = require("../entity/entity");
|
|
5
|
+
const path_utils_1 = require("../util/path-utils");
|
|
6
|
+
function getVariable(str) {
|
|
7
|
+
const start = str.indexOf("${");
|
|
8
|
+
if (start > -1) {
|
|
9
|
+
const end = str.indexOf("}");
|
|
10
|
+
if (end > -1) {
|
|
11
|
+
if (start < end) {
|
|
12
|
+
const path = str.substring(start + 2, end);
|
|
13
|
+
const txt = str.substring(start, end + 1);
|
|
14
|
+
return { path: path, text: txt };
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Utilities for parsing "Bruce variables", typically within strings.
|
|
22
|
+
*
|
|
23
|
+
* A Bruce variable is a string that starts with "${" and ends with "}".
|
|
24
|
+
* Within those brackets is a path to an attribute in an entity.
|
|
25
|
+
*/
|
|
26
|
+
var BruceVariable;
|
|
27
|
+
(function (BruceVariable) {
|
|
28
|
+
/**
|
|
29
|
+
* Replaces all Bruce variables in a string with the value of the attribute.
|
|
30
|
+
* @param str
|
|
31
|
+
* @param data
|
|
32
|
+
* @param legacyParse
|
|
33
|
+
* @returns
|
|
34
|
+
*/
|
|
35
|
+
function SwapValues(params) {
|
|
36
|
+
let { str, entity: data, legacyParse } = params;
|
|
37
|
+
if (!legacyParse) {
|
|
38
|
+
legacyParse = false;
|
|
39
|
+
}
|
|
40
|
+
while (true) {
|
|
41
|
+
const variable = getVariable(str);
|
|
42
|
+
if (variable) {
|
|
43
|
+
const path = legacyParse ? path_utils_1.PathUtils.ParseLegacy(variable.path) : path_utils_1.PathUtils.Parse(variable.path);
|
|
44
|
+
let value = "";
|
|
45
|
+
if (path.length > 0) {
|
|
46
|
+
value = entity_1.Entity.GetValue({
|
|
47
|
+
entity: data,
|
|
48
|
+
path: path
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
str = str.replace(variable.text, value);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return str;
|
|
58
|
+
}
|
|
59
|
+
BruceVariable.SwapValues = SwapValues;
|
|
60
|
+
})(BruceVariable = exports.BruceVariable || (exports.BruceVariable = {}));
|
|
61
61
|
//# sourceMappingURL=bruce-variable.js.map
|